Skip to content

Commit c9e576e

Browse files
authored
Network services Multicast domain (#15483)
1 parent b007eb9 commit c9e576e

File tree

2 files changed

+158
-0
lines changed

2 files changed

+158
-0
lines changed
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# Copyright 2025 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: MulticastDomain
16+
description: Create a multicast domain in the current project.
17+
base_url: projects/{{project}}/locations/{{location}}/multicastDomains
18+
update_mask: true
19+
self_link:
20+
projects/{{project}}/locations/{{location}}/multicastDomains/{{multicast_domain_id}}
21+
create_url:
22+
projects/{{project}}/locations/{{location}}/multicastDomains?multicastDomainId={{multicast_domain_id}}
23+
import_format:
24+
- projects/{{project}}/locations/{{location}}/multicastDomains/{{multicast_domain_id}}
25+
examples:
26+
- name: network_services_multicast_domain_basic
27+
primary_resource_id: md_test
28+
vars:
29+
network_name: test-md-network
30+
domain_name: test-md-domain
31+
autogen_async: true
32+
immutable: true
33+
async:
34+
operation:
35+
timeouts:
36+
insert_minutes: 20
37+
update_minutes: 20
38+
delete_minutes: 20
39+
base_url: '{{op_id}}'
40+
actions:
41+
- create
42+
- delete
43+
- update
44+
type: OpAsync
45+
result:
46+
resource_inside_response: true
47+
include_project: false
48+
autogen_status: TXVsdGljYXN0RG9tYWlu
49+
parameters:
50+
- name: location
51+
type: String
52+
description: Resource ID segment making up resource `name`. It identifies the
53+
resource within its parent collection as described in
54+
https://google.aip.dev/122.
55+
immutable: true
56+
url_param_only: true
57+
required: true
58+
- name: multicastDomainId
59+
type: String
60+
description: |-
61+
A unique name for the multicast domain.
62+
The name is restricted to letters, numbers, and hyphen, with the first
63+
character a letter, and the last a letter or a number. The name must not
64+
exceed 48 characters.
65+
immutable: true
66+
url_param_only: true
67+
required: true
68+
properties:
69+
- name: adminNetwork
70+
type: String
71+
description: |-
72+
The resource name of the multicast admin VPC network.
73+
Use the following format:
74+
`projects/{project}/locations/global/networks/{network}`.
75+
required: true
76+
immutable: true
77+
- name: connectionConfig
78+
type: NestedObject
79+
api_name: connection
80+
description: VPC connectivity information.
81+
required: true
82+
immutable: true
83+
properties:
84+
- name: connectionType
85+
type: String
86+
description: |-
87+
The VPC connection type.
88+
Possible values:
89+
NCC
90+
SAME_VPC
91+
required: true
92+
immutable: true
93+
- name: nccHub
94+
type: String
95+
description: |-
96+
The resource name of the
97+
[NCC](https://cloud.google.com/network-connectivity-center) hub.
98+
Use the following format:
99+
`projects/{project}/locations/global/hubs/{hub}`.
100+
immutable: true
101+
- name: createTime
102+
type: String
103+
description: '[Output only] The timestamp when the multicast domain was created.'
104+
output: true
105+
- name: description
106+
type: String
107+
description: An optional text description of the multicast domain.
108+
- name: labels
109+
type: KeyValueLabels
110+
description: Labels as key-value pairs.
111+
- name: multicastDomainGroup
112+
type: String
113+
description: |-
114+
The multicast domain group this domain should be associated with.
115+
Use the following format:
116+
`projects/{project}/locations/global/multicastDomainGroups/{multicast_domain_group}`.
117+
immutable: true
118+
- name: name
119+
type: String
120+
description: |-
121+
Identifier. The resource name of the multicast domain.
122+
Use the following format:
123+
`projects/*/locations/global/multicastDomains/*`
124+
output: true
125+
- name: uniqueId
126+
type: String
127+
description: |-
128+
[Output only] The Google-generated UUID for the resource. This value is
129+
unique across all multicast domain resources. If a domain is deleted and
130+
another with the same name is created, the new domain is assigned a
131+
different unique_id.
132+
output: true
133+
- name: updateTime
134+
type: String
135+
description: |-
136+
[Output only] The timestamp when the multicast domain was most recently
137+
updated.
138+
output: true
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
resource "google_compute_network" "network" {
2+
name = "{{index $.Vars "network_name"}}"
3+
auto_create_subnetworks = false
4+
}
5+
6+
resource "google_network_services_multicast_domain" {{$.PrimaryResourceId}} {
7+
multicast_domain_id = "{{index $.Vars "domain_name"}}"
8+
location = "global"
9+
description = "A sample domain"
10+
labels = {
11+
label-one = "value-one"
12+
}
13+
admin_network = google_compute_network.network.id
14+
connection_config {
15+
connection_type = "SAME_VPC"
16+
ncc_hub = ""
17+
}
18+
multicast_domain_group = ""
19+
depends_on = [google_compute_network.network]
20+
}

0 commit comments

Comments
 (0)