google 部署管理器日志记录 v2 接收器类型验证错误
google deployment manager logging v2 sinks type validation error
我正在尝试在我的部署管理器配置中创建 logging.v2.sink
:
resources:
- name: audit-log-sink
type: logging.v2.sink
properties:
name: audit-log
destination: projects/{{ env["project"] }}/topics/audit-log-topic
metadata:
dependsOn:
- audit-log-topic
在 运行 命令之后:
gcloud deployment-manager deployments create my-deployment --config ./my-deployment.jinja --preview
我收到以下验证错误:
errors:
- code: CONDITION_NOT_MET
location: /deployments/my-deployment/resources/audit-log-sink->$.properties
message: '"/name": domain: validation; keyword: type; message: instance does not
match any allowed primitive type; allowed: ["string"]; found: "null"'
无论我为 name
属性 的值输入什么,它都会作为空值传递给验证。
正确的字段是 sink
而不是 name
。这是正确的配置:
resources:
- name: audit-log-sink
type: logging.v2.sink
properties:
sink: audit-log
destination: projects/{{ env["project"] }}/topics/audit-log-topic
metadata:
dependsOn:
- audit-log-topic
resources:
- name: {{ env["name"] }}-projecthub-log-centralization-bucket
type: projecthubname/sharedstoragetype1:buckets
properties:
kind: storage#bucket
name: {{ env["name"] }}-projecthub-log-centralization-bucket
project: gcp-oc-ser-hub-sbx
storageClass: MULTI_REGIONAL
labels:
resourceid: {{ properties["resourceid"] }}
billingcode: {{ properties["billingcode"] }}
- name: {{ env["name"] }}-iam
type: gcp-types/storage-v1:storage.buckets.setIamPolicy
properties:
bucket: $(ref.{{ env["name"] }}-projecthub-log-centralization-bucket.name)
bindings:
- role: roles/storage.objectCreator
members:
- $(ref.{{ env["name"] }}-sink.writerIdentity)
- name: {{ env["name"] }}-sink
type: gcp-types/logging-v2:organizations.sinks
properties:
sink: {{ env["name"] }}
uniqueWriterIdentity: {{ properties["uniqueWriterIdentity"] }}
includeChildren: true
outputVersionFormat: V2
destination: storage.googleapis.com/$(ref.{{ env["name"] }}-servicehub-log-centralization-bucket.name)
filter: {{ properties["filter"] }}
organization: "{{ properties["organizationid"] }}"
我正在尝试在我的部署管理器配置中创建 logging.v2.sink
:
resources:
- name: audit-log-sink
type: logging.v2.sink
properties:
name: audit-log
destination: projects/{{ env["project"] }}/topics/audit-log-topic
metadata:
dependsOn:
- audit-log-topic
在 运行 命令之后:
gcloud deployment-manager deployments create my-deployment --config ./my-deployment.jinja --preview
我收到以下验证错误:
errors:
- code: CONDITION_NOT_MET
location: /deployments/my-deployment/resources/audit-log-sink->$.properties
message: '"/name": domain: validation; keyword: type; message: instance does not
match any allowed primitive type; allowed: ["string"]; found: "null"'
无论我为 name
属性 的值输入什么,它都会作为空值传递给验证。
正确的字段是 sink
而不是 name
。这是正确的配置:
resources:
- name: audit-log-sink
type: logging.v2.sink
properties:
sink: audit-log
destination: projects/{{ env["project"] }}/topics/audit-log-topic
metadata:
dependsOn:
- audit-log-topic
resources:
- name: {{ env["name"] }}-projecthub-log-centralization-bucket
type: projecthubname/sharedstoragetype1:buckets
properties:
kind: storage#bucket
name: {{ env["name"] }}-projecthub-log-centralization-bucket
project: gcp-oc-ser-hub-sbx
storageClass: MULTI_REGIONAL
labels:
resourceid: {{ properties["resourceid"] }}
billingcode: {{ properties["billingcode"] }}
- name: {{ env["name"] }}-iam
type: gcp-types/storage-v1:storage.buckets.setIamPolicy
properties:
bucket: $(ref.{{ env["name"] }}-projecthub-log-centralization-bucket.name)
bindings:
- role: roles/storage.objectCreator
members:
- $(ref.{{ env["name"] }}-sink.writerIdentity)
- name: {{ env["name"] }}-sink
type: gcp-types/logging-v2:organizations.sinks
properties:
sink: {{ env["name"] }}
uniqueWriterIdentity: {{ properties["uniqueWriterIdentity"] }}
includeChildren: true
outputVersionFormat: V2
destination: storage.googleapis.com/$(ref.{{ env["name"] }}-servicehub-log-centralization-bucket.name)
filter: {{ properties["filter"] }}
organization: "{{ properties["organizationid"] }}"