Skip to content

Commit 2f5a307

Browse files
authored
Add Mirroring resources to Network Security. (#12420)
1 parent 51b6a13 commit 2f5a307

12 files changed

+1145
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# Copyright 2024 Google Inc.
2+
# Licensed under the Apache License, Version 2.0 (the "License");
3+
# you may not use this file except in compliance with the License.
4+
# You may obtain a copy of the License at
5+
#
6+
# http://www.apache.org/licenses/LICENSE-2.0
7+
#
8+
# Unless required by applicable law or agreed to in writing, software
9+
# distributed under the License is distributed on an "AS IS" BASIS,
10+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
# See the License for the specific language governing permissions and
12+
# limitations under the License.
13+
14+
---
15+
name: 'MirroringDeployment'
16+
description: MirroringDeployment represents the collectors within a Zone and is associated with a deployment group.
17+
min_version: 'beta'
18+
references:
19+
guides:
20+
'Mirroring deployment overview': 'https://cloud.google.com/network-security-integration/docs/out-of-band/deployments-overview'
21+
api: 'https://cloud.google.com/network-security-integration/docs/reference/rest/v1beta1/projects.locations.mirroringDeployments'
22+
docs:
23+
id_format: 'projects/{{project}}/locations/{{location}}/mirroringDeployments/{{mirroring_deployment_id}}'
24+
base_url: 'projects/{{project}}/locations/{{location}}/mirroringDeployments'
25+
self_link: 'projects/{{project}}/locations/{{location}}/mirroringDeployments/{{mirroring_deployment_id}}'
26+
create_url: 'projects/{{project}}/locations/{{location}}/mirroringDeployments?mirroringDeploymentId={{mirroring_deployment_id}}'
27+
update_verb: 'PATCH'
28+
update_mask: true
29+
import_format:
30+
- 'projects/{{project}}/locations/{{location}}/mirroringDeployments/{{mirroring_deployment_id}}'
31+
autogen_async: true
32+
async:
33+
actions: ['create', 'delete', 'update']
34+
type: 'OpAsync'
35+
operation:
36+
base_url: '{{op_id}}'
37+
path: 'name'
38+
wait_ms: 1000
39+
result:
40+
path: 'response'
41+
resource_inside_response: true
42+
error:
43+
path: 'error'
44+
message: 'message'
45+
custom_code:
46+
examples:
47+
- name: 'network_security_mirroring_deployment_basic'
48+
config_path: 'templates/terraform/examples/network_security_mirroring_deployment_basic.tf.tmpl'
49+
primary_resource_id: 'default'
50+
vars:
51+
network_name: 'example-network'
52+
subnetwork_name: 'example-subnet'
53+
health_check_name: 'example-hc'
54+
backend_service_name: 'example-bs'
55+
forwarding_rule_name: 'example-fwr'
56+
deployment_group_id: 'example-dg'
57+
deployment_id: 'example-deployment'
58+
parameters:
59+
- name: 'location'
60+
type: String
61+
description: 'Resource ID segment making up resource `name`. It identifies the resource
62+
within its parent collection as described in https://google.aip.dev/122. See documentation
63+
for resource type `networksecurity.googleapis.com/MirroringDeployment`. '
64+
min_version: 'beta'
65+
url_param_only: true
66+
required: true
67+
immutable: true
68+
- name: 'mirroringDeploymentId'
69+
type: String
70+
description: "Required. Id of the requesting object\nIf auto-generating Id server-side,
71+
remove this field and\nmirroring_deployment_id from the method_signature of Create
72+
RPC "
73+
min_version: 'beta'
74+
url_param_only: true
75+
required: true
76+
immutable: true
77+
properties:
78+
- name: 'name'
79+
type: String
80+
description: 'Immutable. Identifier. The name of the MirroringDeployment. '
81+
min_version: 'beta'
82+
immutable: true
83+
output: true
84+
- name: 'createTime'
85+
type: String
86+
description: 'Output only. [Output only] Create time stamp '
87+
min_version: 'beta'
88+
output: true
89+
- name: 'updateTime'
90+
type: String
91+
description: 'Output only. [Output only] Update time stamp '
92+
min_version: 'beta'
93+
output: true
94+
- name: 'labels'
95+
type: KeyValueLabels
96+
description: 'Optional. Labels as key value pairs '
97+
min_version: 'beta'
98+
- name: 'forwardingRule'
99+
type: String
100+
description: "Required. Immutable. The regional load balancer which the mirrored
101+
traffic should be forwarded\nto. Format is:\nprojects/{project}/regions/{region}/forwardingRules/{forwardingRule} "
102+
min_version: 'beta'
103+
required: true
104+
immutable: true
105+
- name: 'mirroringDeploymentGroup'
106+
type: String
107+
description: "Required. Immutable. The Mirroring Deployment Group that this resource
108+
is part of. Format is:\n`projects/{project}/locations/global/mirroringDeploymentGroups/{mirroringDeploymentGroup}` "
109+
min_version: 'beta'
110+
required: true
111+
immutable: true
112+
- name: 'state'
113+
type: String
114+
description: "Output only. Current state of the deployment. \n Possible values:\n
115+
STATE_UNSPECIFIED\nACTIVE\nCREATING\nDELETING\nOUT_OF_SYNC\nDELETE_FAILED"
116+
min_version: 'beta'
117+
output: true
118+
- name: 'reconciling'
119+
type: Boolean
120+
description: "Output only. Whether reconciling is in progress, recommended per\nhttps://google.aip.dev/128. "
121+
min_version: 'beta'
122+
output: true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# Copyright 2024 Google Inc.
2+
# Licensed under the Apache License, Version 2.0 (the "License");
3+
# you may not use this file except in compliance with the License.
4+
# You may obtain a copy of the License at
5+
#
6+
# http://www.apache.org/licenses/LICENSE-2.0
7+
#
8+
# Unless required by applicable law or agreed to in writing, software
9+
# distributed under the License is distributed on an "AS IS" BASIS,
10+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
# See the License for the specific language governing permissions and
12+
# limitations under the License.
13+
14+
---
15+
name: 'MirroringDeploymentGroup'
16+
description: A Deployment Group represents the collector deployments across different zones within an organization.
17+
min_version: 'beta'
18+
references:
19+
guides:
20+
'Mirroring deployment group overview': 'https://cloud.google.com/network-security-integration/docs/out-of-band/deployment-groups-overview'
21+
api: 'https://cloud.google.com/network-security-integration/docs/reference/rest/v1beta1/projects.locations.mirroringDeploymentGroups'
22+
docs:
23+
id_format: 'projects/{{project}}/locations/{{location}}/mirroringDeploymentGroups/{{mirroring_deployment_group_id}}'
24+
base_url: 'projects/{{project}}/locations/{{location}}/mirroringDeploymentGroups'
25+
self_link: 'projects/{{project}}/locations/{{location}}/mirroringDeploymentGroups/{{mirroring_deployment_group_id}}'
26+
create_url: 'projects/{{project}}/locations/{{location}}/mirroringDeploymentGroups?mirroringDeploymentGroupId={{mirroring_deployment_group_id}}'
27+
update_verb: 'PATCH'
28+
update_mask: true
29+
import_format:
30+
- 'projects/{{project}}/locations/{{location}}/mirroringDeploymentGroups/{{mirroring_deployment_group_id}}'
31+
autogen_async: true
32+
async:
33+
actions: ['create', 'delete', 'update']
34+
type: 'OpAsync'
35+
operation:
36+
base_url: '{{op_id}}'
37+
path: 'name'
38+
wait_ms: 1000
39+
result:
40+
path: 'response'
41+
resource_inside_response: true
42+
error:
43+
path: 'error'
44+
message: 'message'
45+
custom_code:
46+
examples:
47+
- name: 'network_security_mirroring_deployment_group_basic'
48+
config_path: 'templates/terraform/examples/network_security_mirroring_deployment_group_basic.tf.tmpl'
49+
primary_resource_id: 'default'
50+
vars:
51+
network_name: 'example-network'
52+
subnetwork_name: 'example-subnet'
53+
deployment_group_id: 'example-dg'
54+
parameters:
55+
- name: 'location'
56+
type: String
57+
description: 'Resource ID segment making up resource `name`. It identifies the resource
58+
within its parent collection as described in https://google.aip.dev/122. See documentation
59+
for resource type `networksecurity.googleapis.com/MirroringDeploymentGroup`. '
60+
min_version: 'beta'
61+
url_param_only: true
62+
required: true
63+
immutable: true
64+
- name: 'mirroringDeploymentGroupId'
65+
type: String
66+
description: "Required. Id of the requesting object\nIf auto-generating Id server-side,
67+
remove this field and\nmirroring_deployment_group_id from the method_signature
68+
of Create RPC "
69+
min_version: 'beta'
70+
url_param_only: true
71+
required: true
72+
immutable: true
73+
properties:
74+
- name: 'name'
75+
type: String
76+
description: 'Immutable. Identifier. Then name of the MirroringDeploymentGroup. '
77+
min_version: 'beta'
78+
immutable: true
79+
output: true
80+
- name: 'createTime'
81+
type: String
82+
description: 'Output only. [Output only] Create time stamp '
83+
min_version: 'beta'
84+
output: true
85+
- name: 'updateTime'
86+
type: String
87+
description: 'Output only. [Output only] Update time stamp '
88+
min_version: 'beta'
89+
output: true
90+
- name: 'labels'
91+
type: KeyValueLabels
92+
description: 'Optional. Labels as key value pairs '
93+
min_version: 'beta'
94+
- name: 'network'
95+
type: String
96+
description: "Required. Immutable. The network that is being used for the deployment.
97+
Format is:\nprojects/{project}/global/networks/{network}. "
98+
min_version: 'beta'
99+
required: true
100+
immutable: true
101+
- name: 'connectedEndpointGroups'
102+
type: Array
103+
description: 'Output only. The list of Mirroring Endpoint Groups that are connected
104+
to this resource. '
105+
min_version: 'beta'
106+
output: true
107+
item_type:
108+
type: NestedObject
109+
properties:
110+
- name: 'name'
111+
type: String
112+
description: 'Output only. A connected mirroring endpoint group. '
113+
min_version: 'beta'
114+
output: true
115+
- name: 'state'
116+
type: String
117+
description: "Output only. Current state of the deployment group. \n Possible values:\n
118+
STATE_UNSPECIFIED\nACTIVE\nCREATING\nDELETING"
119+
min_version: 'beta'
120+
output: true
121+
- name: 'reconciling'
122+
type: Boolean
123+
description: "Output only. Whether reconciling is in progress, recommended per\nhttps://google.aip.dev/128. "
124+
min_version: 'beta'
125+
output: true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Copyright 2024 Google Inc.
2+
# Licensed under the Apache License, Version 2.0 (the "License");
3+
# you may not use this file except in compliance with the License.
4+
# You may obtain a copy of the License at
5+
#
6+
# http://www.apache.org/licenses/LICENSE-2.0
7+
#
8+
# Unless required by applicable law or agreed to in writing, software
9+
# distributed under the License is distributed on an "AS IS" BASIS,
10+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
# See the License for the specific language governing permissions and
12+
# limitations under the License.
13+
14+
---
15+
name: 'MirroringEndpointGroup'
16+
description: A mirroring endpoint group is a global resource in the consumer account representing the producer’s deployment group.
17+
min_version: 'beta'
18+
references:
19+
guides:
20+
'Mirroring endpoint group overview': 'https://cloud.google.com/network-security-integration/docs/out-of-band/endpoint-groups-overview'
21+
api: 'https://cloud.google.com/network-security-integration/docs/reference/rest/v1beta1/projects.locations.mirroringEndpointGroups'
22+
docs:
23+
id_format: 'projects/{{project}}/locations/{{location}}/mirroringEndpointGroups/{{mirroring_endpoint_group_id}}'
24+
base_url: 'projects/{{project}}/locations/{{location}}/mirroringEndpointGroups'
25+
self_link: 'projects/{{project}}/locations/{{location}}/mirroringEndpointGroups/{{mirroring_endpoint_group_id}}'
26+
create_url: 'projects/{{project}}/locations/{{location}}/mirroringEndpointGroups?mirroringEndpointGroupId={{mirroring_endpoint_group_id}}'
27+
update_verb: 'PATCH'
28+
update_mask: true
29+
import_format:
30+
- 'projects/{{project}}/locations/{{location}}/mirroringEndpointGroups/{{mirroring_endpoint_group_id}}'
31+
autogen_async: true
32+
async:
33+
actions: ['create', 'delete', 'update']
34+
type: 'OpAsync'
35+
operation:
36+
base_url: '{{op_id}}'
37+
path: 'name'
38+
wait_ms: 1000
39+
result:
40+
path: 'response'
41+
resource_inside_response: true
42+
error:
43+
path: 'error'
44+
message: 'message'
45+
custom_code:
46+
examples:
47+
- name: 'network_security_mirroring_endpoint_group_basic'
48+
config_path: 'templates/terraform/examples/network_security_mirroring_endpoint_group_basic.tf.tmpl'
49+
primary_resource_id: 'default'
50+
vars:
51+
network_name: 'example-network'
52+
deployment_group_id: 'example-dg'
53+
endpoint_group_id: 'example-eg'
54+
parameters:
55+
- name: 'location'
56+
type: String
57+
description: 'Resource ID segment making up resource `name`. It identifies the resource
58+
within its parent collection as described in https://google.aip.dev/122. See documentation
59+
for resource type `networksecurity.googleapis.com/MirroringEndpointGroup`. '
60+
min_version: 'beta'
61+
url_param_only: true
62+
required: true
63+
immutable: true
64+
- name: 'mirroringEndpointGroupId'
65+
type: String
66+
description: "Required. Id of the requesting object\nIf auto-generating Id server-side,
67+
remove this field and\nmirroring_endpoint_group_id from the method_signature of
68+
Create RPC "
69+
min_version: 'beta'
70+
url_param_only: true
71+
required: true
72+
immutable: true
73+
properties:
74+
- name: 'name'
75+
type: String
76+
description: 'Immutable. Identifier. The name of the MirroringEndpointGroup. '
77+
min_version: 'beta'
78+
immutable: true
79+
output: true
80+
- name: 'createTime'
81+
type: String
82+
description: 'Output only. [Output only] Create time stamp '
83+
min_version: 'beta'
84+
output: true
85+
- name: 'updateTime'
86+
type: String
87+
description: 'Output only. [Output only] Update time stamp '
88+
min_version: 'beta'
89+
output: true
90+
- name: 'labels'
91+
type: KeyValueLabels
92+
description: 'Optional. Labels as key value pairs '
93+
min_version: 'beta'
94+
- name: 'mirroringDeploymentGroup'
95+
type: String
96+
description: "Required. Immutable. The Mirroring Deployment Group that this resource
97+
is connected to. Format\nis:\n`projects/{project}/locations/global/mirroringDeploymentGroups/{mirroringDeploymentGroup}` "
98+
min_version: 'beta'
99+
required: true
100+
immutable: true
101+
- name: 'state'
102+
type: String
103+
description: "Output only. Current state of the endpoint group. \n Possible values:\n
104+
STATE_UNSPECIFIED\nACTIVE\nCLOSED\nCREATING\nDELETING\nOUT_OF_SYNC"
105+
min_version: 'beta'
106+
output: true
107+
- name: 'reconciling'
108+
type: Boolean
109+
description: "Output only. Whether reconciling is in progress, recommended per\nhttps://google.aip.dev/128. "
110+
min_version: 'beta'
111+
output: true

0 commit comments

Comments
 (0)