delowan / delowan.googlecloud / 1.0.2 / module / gcp_compute_reservation Creates a GCP Reservation Authors: Google Inc. (@googlecloudplatform) preview | supported by communitydelowan.googlecloud.gcp_compute_reservation (1.0.2) — module
Install with ansible-galaxy collection install delowan.googlecloud:==1.0.2
collections: - name: delowan.googlecloud version: 1.0.2
Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running.
Reservations apply only to Compute Engine, Cloud Dataproc, and Google Kubernetes Engine VM usage.Reservations do not apply to `f1-micro` or `g1-small` machine types, preemptible VMs, sole tenant nodes, or other services not listed above like Cloud SQL and Dataflow.
- name: create a reservation google.cloud.gcp_compute_reservation: name: test_object zone: us-central1-a specific_reservation: count: 1 instance_properties: min_cpu_platform: Intel Cascade Lake machine_type: n2-standard-2 project: test_project auth_kind: serviceaccount service_account_file: "/tmp/auth.pem" state: present
name: description: - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. required: true type: str zone: description: - The zone where the reservation is made. required: true type: str state: choices: - present - absent default: present description: - Whether the given object should exist in GCP type: str scopes: description: - Array of scopes to be used elements: str type: list project: description: - The Google Cloud Platform project to use. type: str env_type: description: - Specifies which Ansible environment you're running this module within. - This should not be set unless you know what you're doing. - This only alters the User Agent string for any API requests. type: str auth_kind: choices: - application - machineaccount - serviceaccount description: - The type of credential used. required: true type: str description: description: - An optional description of this resource. required: false type: str service_account_file: description: - The path of a Service Account JSON file if serviceaccount is selected as type. type: path specific_reservation: description: - Reservation for instances with specific machine shapes. required: true suboptions: count: description: - The number of resources that are allocated. required: true type: int instance_properties: description: - The instance properties for the reservation. required: true suboptions: guest_accelerators: description: - Guest accelerator type and count. elements: dict required: false suboptions: accelerator_count: description: - The number of the guest accelerator cards exposed to this instance. required: true type: int accelerator_type: description: - 'The full or partial URL of the accelerator type to attach to this instance. For example: `projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100` If you are creating an instance template, specify only the accelerator name.' required: true type: str type: list local_ssds: description: - The amount of local ssd to reserve with each instance. This reserves disks of type `local-ssd`. elements: dict required: false suboptions: disk_size_gb: description: - The size of the disk in base-2 GB. required: true type: int interface: default: SCSI description: - The disk interface to use for attaching this disk. - 'Some valid choices include: "SCSI", "NVME"' required: false type: str type: list machine_type: description: - The name of the machine type to reserve. required: true type: str min_cpu_platform: description: - The minimum CPU platform for the reservation. For example, `"Intel Skylake"`. See U(https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones) for information on available CPU platforms. required: false type: str type: dict type: dict service_account_email: description: - An optional service account email address if machineaccount is selected and the user does not wish to use the default email. type: str service_account_contents: description: - The contents of a Service Account JSON file, either in a dictionary or as a JSON string that represents it. type: jsonarg specific_reservation_required: default: 'false' description: - When set to true, only VMs that target this reservation by name can consume this reservation. Otherwise, it can be consumed by VMs with affinity for any reservation. Defaults to false. required: false type: bool
commitment: description: - Full or partial URL to a parent commitment. This field displays for reservations that are tied to a commitment. returned: success type: str creationTimestamp: description: - Creation timestamp in RFC3339 text format. returned: success type: str description: description: - An optional description of this resource. returned: success type: str id: description: - The unique identifier for the resource. returned: success type: int name: description: - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. returned: success type: str specificReservation: contains: count: description: - The number of resources that are allocated. returned: success type: int inUseCount: description: - How many instances are in use. returned: success type: int instanceProperties: contains: guestAccelerators: contains: acceleratorCount: description: - The number of the guest accelerator cards exposed to this instance. returned: success type: int acceleratorType: description: - 'The full or partial URL of the accelerator type to attach to this instance. For example: `projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100` If you are creating an instance template, specify only the accelerator name.' returned: success type: str description: - Guest accelerator type and count. returned: success type: complex localSsds: contains: diskSizeGb: description: - The size of the disk in base-2 GB. returned: success type: int interface: description: - The disk interface to use for attaching this disk. returned: success type: str description: - The amount of local ssd to reserve with each instance. This reserves disks of type `local-ssd`. returned: success type: complex machineType: description: - The name of the machine type to reserve. returned: success type: str minCpuPlatform: description: - The minimum CPU platform for the reservation. For example, `"Intel Skylake"`. See U(https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones) for information on available CPU platforms. returned: success type: str description: - The instance properties for the reservation. returned: success type: complex description: - Reservation for instances with specific machine shapes. returned: success type: complex specificReservationRequired: description: - When set to true, only VMs that target this reservation by name can consume this reservation. Otherwise, it can be consumed by VMs with affinity for any reservation. Defaults to false. returned: success type: bool status: description: - The status of the reservation. returned: success type: str zone: description: - The zone where the reservation is made. returned: success type: str