forked from GoogleCloudPlatform/magic-modules
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Go rewrite edgecontainer, edgenetwork, essentialcontacts, filestore, …
…firebase (GoogleCloudPlatform#11235)
- Loading branch information
Showing
19 changed files
with
2,411 additions
and
1 deletion.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,161 @@ | ||
# Copyright 2024 Google Inc. | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
# Warning: This is a temporary file, and should not be edited directly | ||
--- | ||
name: 'NodePool' | ||
description: | | ||
"A set of Kubernetes nodes in a cluster with common configuration and specification." | ||
references: | ||
guides: | ||
'Google Distributed Cloud Edge': 'https://cloud.google.com/distributed-cloud/edge/latest/docs' | ||
api: 'https://cloud.google.com/distributed-cloud/edge/latest/docs/reference/container/rest/v1/projects.locations.clusters.nodePools' | ||
docs: | ||
base_url: 'projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/nodePools' | ||
self_link: 'projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/nodePools/{{name}}' | ||
create_url: 'projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/nodePools?nodePoolId={{name}}' | ||
update_url: 'projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/nodePools/{{name}}' | ||
update_verb: 'PATCH' | ||
update_mask: true | ||
import_format: | ||
- 'projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/nodePools/{{name}}' | ||
timeouts: | ||
insert_minutes: 480 | ||
update_minutes: 480 | ||
delete_minutes: 480 | ||
autogen_async: true | ||
async: | ||
actions: ['create', 'delete', 'update'] | ||
type: 'OpAsync' | ||
operation: | ||
base_url: '{{op_id}}' | ||
path: 'name' | ||
wait_ms: 1000 | ||
timeouts: | ||
insert_minutes: 480 | ||
update_minutes: 480 | ||
delete_minutes: 480 | ||
result: | ||
path: 'response' | ||
resource_inside_response: false | ||
error: | ||
path: 'error' | ||
message: 'message' | ||
custom_code: | ||
examples: | ||
- name: 'edgecontainer_node_pool' | ||
primary_resource_id: 'default' | ||
skip_test: true | ||
- name: 'edgecontainer_node_pool_with_cmek' | ||
primary_resource_id: 'default' | ||
skip_test: true | ||
- name: 'edgecontainer_local_control_plane_node_pool' | ||
primary_resource_id: 'default' | ||
skip_test: true | ||
- name: 'edgecontainer_local_control_plane_node_pool_internal' | ||
primary_resource_id: 'default' | ||
skip_test: true | ||
skip_docs: true | ||
skip_vcr: true | ||
parameters: | ||
- name: 'name' | ||
type: String | ||
description: | | ||
The resource name of the node pool. | ||
url_param_only: true | ||
required: true | ||
immutable: true | ||
- name: 'location' | ||
type: String | ||
description: | | ||
The location of the resource. | ||
url_param_only: true | ||
required: true | ||
immutable: true | ||
- name: 'cluster' | ||
type: String | ||
description: | | ||
The name of the target Distributed Cloud Edge Cluster. | ||
url_param_only: true | ||
required: true | ||
immutable: true | ||
properties: | ||
- name: 'createTime' | ||
type: Time | ||
description: | | ||
The time when the node pool was created. | ||
output: true | ||
- name: 'updateTime' | ||
type: Time | ||
description: | | ||
The time when the node pool was last updated. | ||
output: true | ||
- name: 'labels' | ||
type: KeyValueLabels | ||
description: "Labels associated with this resource." | ||
- name: 'nodeLocation' | ||
type: String | ||
description: | | ||
Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: `us-central1-edge-customer-a`. | ||
required: true | ||
immutable: true | ||
- name: 'nodeCount' | ||
type: Integer | ||
description: | | ||
The number of nodes in the pool. | ||
required: true | ||
- name: 'machineFilter' | ||
type: String | ||
description: | | ||
Only machines matching this filter will be allowed to join the node pool. | ||
The filtering language accepts strings like "name=<name>", and is | ||
documented in more detail in [AIP-160](https://google.aip.dev/160). | ||
default_from_api: true | ||
- name: 'localDiskEncryption' | ||
type: NestedObject | ||
description: | | ||
Local disk encryption options. This field is only used when enabling CMEK support. | ||
properties: | ||
- name: 'kmsKey' | ||
type: String | ||
description: | | ||
The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting node local disks. | ||
If not specified, a Google-managed key will be used instead. | ||
immutable: true | ||
- name: 'kmsKeyActiveVersion' | ||
type: String | ||
description: | | ||
The Cloud KMS CryptoKeyVersion currently in use for protecting node local disks. Only applicable if kmsKey is set. | ||
output: true | ||
- name: 'kmsKeyState' | ||
type: String | ||
description: | | ||
Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data. | ||
This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted. | ||
output: true | ||
- name: 'nodeVersion' | ||
type: String | ||
description: | | ||
The lowest release version among all worker nodes. | ||
output: true | ||
- name: 'nodeConfig' | ||
type: NestedObject | ||
description: | | ||
Configuration for each node in the NodePool | ||
default_from_api: true | ||
properties: | ||
- name: 'labels' | ||
type: KeyValuePairs | ||
description: | | ||
"The Kubernetes node labels" | ||
default_from_api: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
# Copyright 2024 Google Inc. | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
# Warning: This is a temporary file, and should not be edited directly | ||
--- | ||
name: 'VpnConnection' | ||
description: "A VPN connection" | ||
references: | ||
guides: | ||
'Google Distributed Cloud Edge': 'https://cloud.google.com/distributed-cloud/edge/latest/docs' | ||
api: 'https://cloud.google.com/distributed-cloud/edge/latest/docs/reference/container/rest/v1/projects.locations.vpnConnections' | ||
docs: | ||
base_url: 'projects/{{project}}/locations/{{location}}/vpnConnections' | ||
self_link: 'projects/{{project}}/locations/{{location}}/vpnConnections/{{name}}' | ||
create_url: 'projects/{{project}}/locations/{{location}}/vpnConnections?vpnConnectionId={{name}}' | ||
timeouts: | ||
insert_minutes: 30 | ||
update_minutes: 30 | ||
delete_minutes: 30 | ||
autogen_async: true | ||
async: | ||
actions: ['create', 'delete', 'update'] | ||
type: 'OpAsync' | ||
operation: | ||
base_url: '{{op_id}}' | ||
path: 'name' | ||
wait_ms: 1000 | ||
timeouts: | ||
insert_minutes: 30 | ||
update_minutes: 30 | ||
delete_minutes: 30 | ||
result: | ||
path: 'response' | ||
resource_inside_response: false | ||
error: | ||
path: 'error' | ||
message: 'message' | ||
custom_code: | ||
examples: | ||
- name: 'edgecontainer_vpn_connection' | ||
primary_resource_id: 'default' | ||
skip_test: true | ||
parameters: | ||
- name: 'name' | ||
type: String | ||
description: | | ||
The resource name of VPN connection | ||
url_param_only: true | ||
required: true | ||
immutable: true | ||
- name: 'location' | ||
type: String | ||
description: | | ||
Google Cloud Platform location. | ||
url_param_only: true | ||
required: true | ||
immutable: true | ||
properties: | ||
- name: 'createTime' | ||
type: Time | ||
description: | | ||
The time when the VPN connection was created. | ||
output: true | ||
- name: 'updateTime' | ||
type: Time | ||
description: | | ||
The time when the VPN connection was last updated. | ||
output: true | ||
- name: 'labels' | ||
type: KeyValueLabels | ||
description: "Labels associated with this resource." | ||
immutable: true | ||
- name: 'natGatewayIp' | ||
type: String | ||
description: | | ||
NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster. | ||
This is empty if NAT is not used. | ||
immutable: true | ||
- name: 'cluster' | ||
type: String | ||
description: | | ||
The canonical Cluster name to connect to. It is in the form of projects/{project}/locations/{location}/clusters/{cluster}. | ||
required: true | ||
immutable: true | ||
- name: 'vpc' | ||
type: String | ||
description: | | ||
The network ID of VPC to connect to. | ||
immutable: true | ||
- name: 'vpcProject' | ||
type: NestedObject | ||
description: Project detail of the VPC network. Required if VPC is in a different project than the cluster project. | ||
properties: | ||
- name: 'projectId' | ||
type: String | ||
description: | | ||
The project of the VPC to connect to. If not specified, it is the same as the cluster project. | ||
immutable: true | ||
- name: 'enableHighAvailability' | ||
type: Boolean | ||
description: | | ||
Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs. | ||
immutable: true | ||
default_from_api: true | ||
- name: 'router' | ||
type: String | ||
description: | | ||
The VPN connection Cloud Router name. | ||
- name: 'details' | ||
type: NestedObject | ||
output: true | ||
properties: | ||
- name: 'state' | ||
type: String | ||
description: | | ||
The current connection state. | ||
output: true | ||
- name: 'error' | ||
type: String | ||
description: | | ||
The error message. This is only populated when state=ERROR. | ||
output: true | ||
- name: 'cloudRouter' | ||
type: NestedObject | ||
description: | | ||
The Cloud Router info. | ||
output: true | ||
properties: | ||
- name: 'name' | ||
type: String | ||
description: | | ||
The associated Cloud Router name. | ||
output: true | ||
- name: 'cloudVpns' | ||
type: NestedObject | ||
description: | | ||
Each connection has multiple Cloud VPN gateways. | ||
output: true | ||
properties: | ||
- name: 'gateway' | ||
type: String | ||
description: | | ||
The created Cloud VPN gateway name. | ||
output: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# Copyright 2024 Google Inc. | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
# Warning: This is a temporary file, and should not be edited directly | ||
--- | ||
name: 'Edgecontainer' | ||
display_name: 'Google Distributed Cloud Edge' | ||
versions: | ||
- name: 'ga' | ||
base_url: 'https://edgecontainer.googleapis.com/v1/' | ||
scopes: | ||
- 'https://www.googleapis.com/auth/cloud-platform' |
Oops, something went wrong.