provisioning_configs
Creates, updates, deletes, gets or lists a provisioning_configs resource.
Overview
| Name | provisioning_configs |
| Type | Resource |
| Id | google.baremetalsolution.provisioning_configs |
Fields
The following fields are returned by SELECT queries:
- get
| Name | Datatype | Description |
|---|---|---|
name | string | Output only. The system-generated name of the provisioning config. This follows the UUID format. |
cloudConsoleUri | string | Output only. URI to Cloud Console UI view of this provisioning config. |
customId | string | Optional. The user-defined identifier of the provisioning config. |
email | string | Email provided to send a confirmation with provisioning config to. Deprecated in favour of email field in request messages. |
handoverServiceAccount | string | A service account to enable customers to access instance credentials upon handover. |
instances | array | Instances to be created. |
location | string | Optional. Location name of this ProvisioningConfig. It is optional only for Intake UI transition period. |
networks | array | Networks to be created. |
pod | string | Optional. Pod name. Pod is an independent part of infrastructure. Instance can be connected to the assets (networks, volumes, nfsshares) allocated in the same pod only. |
state | string | Output only. State of ProvisioningConfig. (STATE_UNSPECIFIED, DRAFT, SUBMITTED, PROVISIONING, PROVISIONED, VALIDATED, CANCELLED, FAILED) |
statusMessage | string | Optional status messages associated with the FAILED state. |
ticketId | string | A generated ticket id to track provisioning request. |
updateTime | string (google-datetime) | Output only. Last update timestamp. |
volumes | array | Volumes to be created. |
vpcScEnabled | boolean | If true, VPC SC is enabled for the cluster. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | projectsId, locationsId, provisioningConfigsId | Get ProvisioningConfig by name. | |
create | insert | projectsId, locationsId | email | Create new ProvisioningConfig. |
patch | update | projectsId, locationsId, provisioningConfigsId | updateMask, email | Update existing ProvisioningConfig. |
submit | exec | projectsId, locationsId | Submit a provisioning configuration for a given project. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
locationsId | string | |
projectsId | string | |
provisioningConfigsId | string | |
email | string | |
updateMask | string (google-fieldmask) |
SELECT examples
- get
Get ProvisioningConfig by name.
SELECT
name,
cloudConsoleUri,
customId,
email,
handoverServiceAccount,
instances,
location,
networks,
pod,
state,
statusMessage,
ticketId,
updateTime,
volumes,
vpcScEnabled
FROM google.baremetalsolution.provisioning_configs
WHERE projectsId = '{{ projectsId }}' -- required
AND locationsId = '{{ locationsId }}' -- required
AND provisioningConfigsId = '{{ provisioningConfigsId }}' -- required
;
INSERT examples
- create
- Manifest
Create new ProvisioningConfig.
INSERT INTO google.baremetalsolution.provisioning_configs (
data__handoverServiceAccount,
data__statusMessage,
data__networks,
data__location,
data__email,
data__instances,
data__volumes,
data__vpcScEnabled,
data__pod,
data__ticketId,
data__customId,
projectsId,
locationsId,
email
)
SELECT
'{{ handoverServiceAccount }}',
'{{ statusMessage }}',
'{{ networks }}',
'{{ location }}',
'{{ email }}',
'{{ instances }}',
'{{ volumes }}',
{{ vpcScEnabled }},
'{{ pod }}',
'{{ ticketId }}',
'{{ customId }}',
'{{ projectsId }}',
'{{ locationsId }}',
'{{ email }}'
RETURNING
name,
cloudConsoleUri,
customId,
email,
handoverServiceAccount,
instances,
location,
networks,
pod,
state,
statusMessage,
ticketId,
updateTime,
volumes,
vpcScEnabled
;
# Description fields are for documentation purposes
- name: provisioning_configs
props:
- name: projectsId
value: "{{ projectsId }}"
description: Required parameter for the provisioning_configs resource.
- name: locationsId
value: "{{ locationsId }}"
description: Required parameter for the provisioning_configs resource.
- name: handoverServiceAccount
value: "{{ handoverServiceAccount }}"
description: |
A service account to enable customers to access instance credentials upon handover.
- name: statusMessage
value: "{{ statusMessage }}"
description: |
Optional status messages associated with the FAILED state.
- name: networks
description: |
Networks to be created.
value:
- vrf: "{{ vrf }}"
name: "{{ name }}"
type: "{{ type }}"
vlanAttachments: "{{ vlanAttachments }}"
jumboFramesEnabled: {{ jumboFramesEnabled }}
id: "{{ id }}"
gcpService: "{{ gcpService }}"
cidr: "{{ cidr }}"
userNote: "{{ userNote }}"
bandwidth: "{{ bandwidth }}"
serviceCidr: "{{ serviceCidr }}"
vlanSameProject: {{ vlanSameProject }}
- name: location
value: "{{ location }}"
description: |
Optional. Location name of this ProvisioningConfig. It is optional only for Intake UI transition period.
- name: email
value: "{{ email }}"
description: |
Email provided to send a confirmation with provisioning config to. Deprecated in favour of email field in request messages.
- name: instances
description: |
Instances to be created.
value:
- id: "{{ id }}"
kmsKeyVersion: "{{ kmsKeyVersion }}"
sshKeyNames: "{{ sshKeyNames }}"
hyperthreading: {{ hyperthreading }}
clientNetwork:
networkId: "{{ networkId }}"
existingNetworkId: "{{ existingNetworkId }}"
address: "{{ address }}"
networkConfig: "{{ networkConfig }}"
instanceType: "{{ instanceType }}"
logicalInterfaces: "{{ logicalInterfaces }}"
privateNetwork:
networkId: "{{ networkId }}"
existingNetworkId: "{{ existingNetworkId }}"
address: "{{ address }}"
name: "{{ name }}"
osImage: "{{ osImage }}"
userNote: "{{ userNote }}"
networkTemplate: "{{ networkTemplate }}"
accountNetworksEnabled: {{ accountNetworksEnabled }}
- name: volumes
description: |
Volumes to be created.
value:
- protocol: "{{ protocol }}"
nfsExports: "{{ nfsExports }}"
gcpService: "{{ gcpService }}"
lunRanges: "{{ lunRanges }}"
userNote: "{{ userNote }}"
snapshotsEnabled: {{ snapshotsEnabled }}
sizeGb: {{ sizeGb }}
machineIds: "{{ machineIds }}"
type: "{{ type }}"
name: "{{ name }}"
id: "{{ id }}"
performanceTier: "{{ performanceTier }}"
- name: vpcScEnabled
value: {{ vpcScEnabled }}
description: |
If true, VPC SC is enabled for the cluster.
- name: pod
value: "{{ pod }}"
description: |
Optional. Pod name. Pod is an independent part of infrastructure. Instance can be connected to the assets (networks, volumes, nfsshares) allocated in the same pod only.
- name: ticketId
value: "{{ ticketId }}"
description: |
A generated ticket id to track provisioning request.
- name: customId
value: "{{ customId }}"
description: |
Optional. The user-defined identifier of the provisioning config.
- name: email
value: "{{ email }}"
UPDATE examples
- patch
Update existing ProvisioningConfig.
UPDATE google.baremetalsolution.provisioning_configs
SET
data__handoverServiceAccount = '{{ handoverServiceAccount }}',
data__statusMessage = '{{ statusMessage }}',
data__networks = '{{ networks }}',
data__location = '{{ location }}',
data__email = '{{ email }}',
data__instances = '{{ instances }}',
data__volumes = '{{ volumes }}',
data__vpcScEnabled = {{ vpcScEnabled }},
data__pod = '{{ pod }}',
data__ticketId = '{{ ticketId }}',
data__customId = '{{ customId }}'
WHERE
projectsId = '{{ projectsId }}' --required
AND locationsId = '{{ locationsId }}' --required
AND provisioningConfigsId = '{{ provisioningConfigsId }}' --required
AND updateMask = '{{ updateMask}}'
AND email = '{{ email}}'
RETURNING
name,
cloudConsoleUri,
customId,
email,
handoverServiceAccount,
instances,
location,
networks,
pod,
state,
statusMessage,
ticketId,
updateTime,
volumes,
vpcScEnabled;
Lifecycle Methods
- submit
Submit a provisioning configuration for a given project.
EXEC google.baremetalsolution.provisioning_configs.submit
@projectsId='{{ projectsId }}' --required,
@locationsId='{{ locationsId }}' --required
@@json=
'{
"provisioningConfig": "{{ provisioningConfig }}",
"email": "{{ email }}"
}'
;