-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
73 changed files
with
623 additions
and
86 deletions.
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 |
---|---|---|
|
@@ -23,6 +23,6 @@ | |
"devDependencies": { | ||
"c8": "^10.0.0", | ||
"mocha": "^10.0.0", | ||
"puppeteer": "^22.0.0" | ||
"puppeteer": "^23.0.0" | ||
} | ||
} |
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
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
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
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
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 |
---|---|---|
|
@@ -16,7 +16,7 @@ | |
}, | ||
"devDependencies": { | ||
"c8": "^10.0.0", | ||
"chai": "^4.2.0", | ||
"chai": "^4.5.0", | ||
"mocha": "^10.0.0" | ||
} | ||
} |
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 |
---|---|---|
|
@@ -19,7 +19,7 @@ | |
}, | ||
"devDependencies": { | ||
"c8": "^10.0.0", | ||
"chai": "^4.2.0", | ||
"chai": "^4.5.0", | ||
"mocha": "^10.0.0" | ||
} | ||
} |
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 |
---|---|---|
|
@@ -17,7 +17,7 @@ | |
}, | ||
"devDependencies": { | ||
"c8": "^10.0.0", | ||
"chai": "^4.2.0", | ||
"chai": "^4.5.0", | ||
"mocha": "^10.0.0" | ||
} | ||
} |
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
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
108 changes: 108 additions & 0 deletions
108
compute/reservations/createReservationInstanceTemplate.js
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,108 @@ | ||
/* | ||
* Copyright 2024 Google LLC | ||
* | ||
* 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 | ||
* | ||
* https://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. | ||
*/ | ||
|
||
'use strict'; | ||
|
||
async function main(location, instanceTemplateName) { | ||
// [START compute_reservation_create_template] | ||
// Import the Compute library | ||
const computeLib = require('@google-cloud/compute'); | ||
const compute = computeLib.protos.google.cloud.compute.v1; | ||
|
||
// Instantiate a reservationsClient | ||
const reservationsClient = new computeLib.ReservationsClient(); | ||
// Instantiate a zoneOperationsClient | ||
const zoneOperationsClient = new computeLib.ZoneOperationsClient(); | ||
|
||
/** | ||
* TODO(developer): Update these variables before running the sample. | ||
*/ | ||
// The ID of the project where you want to reserve resources and where the instance template exists. | ||
const projectId = await reservationsClient.getProjectId(); | ||
// The zone in which to reserve resources. | ||
const zone = 'us-central1-a'; | ||
// The name of the reservation to create. | ||
const reservationName = 'reservation-01'; | ||
// The number of VMs to reserve. | ||
const vmsNumber = 3; | ||
|
||
/** | ||
* The name of an existing instance template. | ||
* TODO(developer): Uncomment and update instanceTemplateName before running the sample. | ||
*/ | ||
// const instanceTemplateName = 'pernament-region-template-name'; | ||
|
||
/** | ||
* // The location of the instance template. | ||
* TODO(developer): Uncomment the `location` variable depending on which template you want to use. | ||
*/ | ||
|
||
// The location for a regional instance template: regions/{region}. Replace region with the region where the instance template is located. | ||
// If you specify a regional instance template, then you can only reserve VMs within the same region as the template's region. | ||
// const location = `regions/${zone.slice(0, -2)}`; | ||
|
||
// The location for a global instance template. | ||
// const location = 'global'; | ||
|
||
async function callCreateComputeReservationInstanceTemplate() { | ||
// Create reservation for 3 VMs in zone us-central1-a by specifying a instance template. | ||
const specificReservation = new compute.AllocationSpecificSKUReservation({ | ||
count: vmsNumber, | ||
sourceInstanceTemplate: `projects/${projectId}/${location}/instanceTemplates/${instanceTemplateName}`, | ||
}); | ||
|
||
// Create a reservation. | ||
const reservation = new compute.Reservation({ | ||
name: reservationName, | ||
specificReservation, | ||
}); | ||
|
||
const [response] = await reservationsClient.insert({ | ||
project: projectId, | ||
reservationResource: reservation, | ||
zone, | ||
}); | ||
|
||
let operation = response.latestResponse; | ||
|
||
// Wait for the create reservation operation to complete. | ||
while (operation.status !== 'DONE') { | ||
[operation] = await zoneOperationsClient.wait({ | ||
operation: operation.name, | ||
project: projectId, | ||
zone: operation.zone.split('/').pop(), | ||
}); | ||
} | ||
|
||
const createdReservation = ( | ||
await reservationsClient.get({ | ||
project: projectId, | ||
zone, | ||
reservation: reservationName, | ||
}) | ||
)[0]; | ||
|
||
console.log(JSON.stringify(createdReservation)); | ||
} | ||
|
||
await callCreateComputeReservationInstanceTemplate(); | ||
// [END compute_reservation_create_template] | ||
} | ||
|
||
main(...process.argv.slice(2)).catch(err => { | ||
console.error(err.message); | ||
process.exitCode = 1; | ||
}); |
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,60 @@ | ||
/* | ||
* Copyright 2024 Google LLC | ||
* | ||
* 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 | ||
* | ||
* https://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. | ||
*/ | ||
'use strict'; | ||
async function main() { | ||
// [START compute_reservation_delete] | ||
// Import the Compute library | ||
const computeLib = require('@google-cloud/compute'); | ||
// Instantiate a reservationsClient | ||
const reservationsClient = new computeLib.ReservationsClient(); | ||
// Instantiate a zoneOperationsClient | ||
const zoneOperationsClient = new computeLib.ZoneOperationsClient(); | ||
/** | ||
* TODO(developer): Update these variables before running the sample. | ||
*/ | ||
// The ID of the project where your reservation is located. | ||
const projectId = await reservationsClient.getProjectId(); | ||
// The zone where your reservation is located. | ||
const zone = 'us-central1-a'; | ||
// The name of the reservation to delete. | ||
const reservationName = 'reservation-01'; | ||
|
||
async function callDeleteReservation() { | ||
// Delete the reservation | ||
const [response] = await reservationsClient.delete({ | ||
project: projectId, | ||
reservation: reservationName, | ||
zone, | ||
}); | ||
|
||
let operation = response.latestResponse; | ||
|
||
// Wait for the delete reservation operation to complete. | ||
while (operation.status !== 'DONE') { | ||
[operation] = await zoneOperationsClient.wait({ | ||
operation: operation.name, | ||
project: projectId, | ||
zone: operation.zone.split('/').pop(), | ||
}); | ||
} | ||
} | ||
await callDeleteReservation(); | ||
// [END compute_reservation_delete] | ||
} | ||
main().catch(err => { | ||
console.error(err); | ||
process.exitCode = 1; | ||
}); |
Oops, something went wrong.