delowan.googlecloud.gcp_compute_image (1.0.2) — module

Creates a GCP Image

Authors: Google Inc. (@googlecloudplatform)

preview | supported by community

Install collection

Install with ansible-galaxy collection install delowan.googlecloud:==1.0.2


Add to requirements.yml

  collections:
    - name: delowan.googlecloud
      version: 1.0.2

Description

Represents an Image resource.

Google Compute Engine uses operating system images to create the root persistent disks for your instances. You specify an image when you create an instance. Images contain a boot loader, an operating system, and a root file system. Linux operating system images are also capable of running containers on Compute Engine.

Images can be either public or custom.

Public images are provided and maintained by Google, open-source communities, and third-party vendors. By default, all projects have access to these images and can use them to create instances. Custom images are available only to your project. You can create a custom image from root persistent disks and other images. Then, use the custom image to create an instance.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: create a disk
  google.cloud.gcp_compute_disk:
    name: disk-image
    zone: us-central1-a
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: disk
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: create a image
  google.cloud.gcp_compute_image:
    name: test_object
    source_disk: "{{ disk }}"
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Inputs

    
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

state:
    choices:
    - present
    - absent
    default: present
    description:
    - Whether the given object should exist in GCP
    type: str

family:
    description:
    - The name of the image family to which this image belongs. You can create disks by
      specifying an image family instead of a specific image name. The image family always
      returns its latest image that is not deprecated. The name of the image family must
      comply with RFC1035.
    required: false
    type: str

labels:
    description:
    - Labels to apply to this Image.
    required: false
    type: dict

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

licenses:
    description:
    - Any applicable license URI.
    elements: str
    required: false
    type: list

raw_disk:
    description:
    - The parameters of the raw disk image.
    required: false
    suboptions:
      container_type:
        description:
        - The format used to encode and transmit the block device, which should be TAR.
          This is just a container and transmission format and not a runtime format. Provided
          by the client when the disk image is created.
        - 'Some valid choices include: "TAR"'
        required: false
        type: str
      sha1_checksum:
        description:
        - An optional SHA1 checksum of the disk image before unpackaging.
        - This is provided by the client when the disk image is created.
        required: false
        type: str
      source:
        description:
        - The full Google Cloud Storage URL where disk storage is stored You must provide
          either this property or the sourceDisk property but not both.
        required: true
        type: str
    type: dict

auth_kind:
    choices:
    - application
    - machineaccount
    - serviceaccount
    description:
    - The type of credential used.
    required: true
    type: str

description:
    description:
    - An optional description of this resource. Provide this property when you create
      the resource.
    required: false
    type: str

source_disk:
    description:
    - The source disk to create this image based on.
    - You must provide either this property or the rawDisk.source property but not both
      to create an image.
    - 'This field represents a link to a Disk resource in GCP. It can be specified in
      two ways. First, you can place a dictionary with key ''selfLink'' and value of your
      resource''s selfLink Alternatively, you can add `register: name-of-resource` to
      a gcp_compute_disk task and then set this source_disk field to "{{ name-of-resource
      }}"'
    required: false
    type: dict

source_type:
    description:
    - The type of the image used to create this disk. The default and only value is RAW
      .
    - 'Some valid choices include: "RAW"'
    required: false
    type: str

disk_size_gb:
    description:
    - Size of the image when restored onto a persistent disk (in GB).
    required: false
    type: int

source_image:
    description:
    - 'URL of the source image used to create this image. In order to create an image,
      you must provide the full or partial URL of one of the following: * The selfLink
      URL * This property * The rawDisk.source URL * The sourceDisk URL .'
    - 'This field represents a link to a Image resource in GCP. It can be specified in
      two ways. First, you can place a dictionary with key ''selfLink'' and value of your
      resource''s selfLink Alternatively, you can add `register: name-of-resource` to
      a gcp_compute_image task and then set this source_image field to "{{ name-of-resource
      }}"'
    required: false
    type: dict

source_disk_id:
    description:
    - The ID value of the disk used to create this image. This value may be used to determine
      whether the image was taken from the current or a previous instance of a given disk
      name.
    required: false
    type: str

source_snapshot:
    description:
    - URL of the source snapshot used to create this image.
    - 'In order to create an image, you must provide the full or partial URL of one of
      the following: * The selfLink URL * This property * The sourceImage URL * The rawDisk.source
      URL * The sourceDisk URL .'
    - 'This field represents a link to a Snapshot resource in GCP. It can be specified
      in two ways. First, you can place a dictionary with key ''selfLink'' and value of
      your resource''s selfLink Alternatively, you can add `register: name-of-resource`
      to a gcp_compute_snapshot task and then set this source_snapshot field to "{{ name-of-resource
      }}"'
    required: false
    type: dict

guest_os_features:
    description:
    - A list of features to enable on the guest operating system.
    - Applicable only for bootable images.
    elements: dict
    required: false
    suboptions:
      type:
        description:
        - The type of supported feature.
        - 'Some valid choices include: "MULTI_IP_SUBNET", "SECURE_BOOT", "SEV_CAPABLE",
          "UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", "WINDOWS", "GVNIC"'
        required: true
        type: str
    type: list

image_encryption_key:
    description:
    - Encrypts the image using a customer-supplied encryption key.
    - After you encrypt an image with a customer-supplied key, you must provide the same
      key if you use the image later (e.g. to create a disk from the image) .
    required: false
    suboptions:
      raw_key:
        description:
        - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64
          to either encrypt or decrypt this resource.
        required: false
        type: str
    type: dict

service_account_file:
    description:
    - The path of a Service Account JSON file if serviceaccount is selected as type.
    type: path

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

source_disk_encryption_key:
    description:
    - The customer-supplied encryption key of the source disk. Required if the source
      disk is protected by a customer-supplied encryption key.
    required: false
    suboptions:
      raw_key:
        description:
        - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64
          to either encrypt or decrypt this resource.
        required: false
        type: str
    type: dict

Outputs

archiveSizeBytes:
  description:
  - Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
  returned: success
  type: int
creationTimestamp:
  description:
  - Creation timestamp in RFC3339 text format.
  returned: success
  type: str
deprecated:
  contains:
    deleted:
      description:
      - An optional RFC3339 timestamp on or after which the state of this resource
        is intended to change to DELETED. This is only informational and the status
        will not change unless the client explicitly changes it.
      returned: success
      type: str
    deprecated:
      description:
      - An optional RFC3339 timestamp on or after which the state of this resource
        is intended to change to DEPRECATED. This is only informational and the status
        will not change unless the client explicitly changes it.
      returned: success
      type: str
    obsolete:
      description:
      - An optional RFC3339 timestamp on or after which the state of this resource
        is intended to change to OBSOLETE. This is only informational and the status
        will not change unless the client explicitly changes it.
      returned: success
      type: str
    replacement:
      description:
      - The URL of the suggested replacement for a deprecated resource.
      - The suggested replacement resource must be the same kind of resource as the
        deprecated resource.
      returned: success
      type: str
    state:
      description:
      - The deprecation state of this resource. This can be DEPRECATED, OBSOLETE,
        or DELETED. Operations which create a new resource using a DEPRECATED resource
        will return successfully, but with a warning indicating the deprecated resource
        and recommending its replacement. Operations which use OBSOLETE or DELETED
        resources will be rejected and result in an error.
      returned: success
      type: str
  description:
  - The deprecation status associated with this image.
  returned: success
  type: complex
description:
  description:
  - An optional description of this resource. Provide this property when you create
    the resource.
  returned: success
  type: str
diskSizeGb:
  description:
  - Size of the image when restored onto a persistent disk (in GB).
  returned: success
  type: int
family:
  description:
  - The name of the image family to which this image belongs. You can create disks
    by specifying an image family instead of a specific image name. The image family
    always returns its latest image that is not deprecated. The name of the image
    family must comply with RFC1035.
  returned: success
  type: str
guestOsFeatures:
  contains:
    type:
      description:
      - The type of supported feature.
      returned: success
      type: str
  description:
  - A list of features to enable on the guest operating system.
  - Applicable only for bootable images.
  returned: success
  type: complex
id:
  description:
  - The unique identifier for the resource. This identifier is defined by the server.
  returned: success
  type: int
imageEncryptionKey:
  contains:
    rawKey:
      description:
      - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
        base64 to either encrypt or decrypt this resource.
      returned: success
      type: str
    sha256:
      description:
      - The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption
        key that protects this resource.
      returned: success
      type: str
  description:
  - Encrypts the image using a customer-supplied encryption key.
  - After you encrypt an image with a customer-supplied key, you must provide the
    same key if you use the image later (e.g. to create a disk from the image) .
  returned: success
  type: complex
labelFingerprint:
  description:
  - The fingerprint used for optimistic locking of this resource. Used internally
    during updates.
  returned: success
  type: str
labels:
  description:
  - Labels to apply to this Image.
  returned: success
  type: dict
licenses:
  description:
  - Any applicable license URI.
  returned: success
  type: list
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
rawDisk:
  contains:
    containerType:
      description:
      - The format used to encode and transmit the block device, which should be TAR.
        This is just a container and transmission format and not a runtime format.
        Provided by the client when the disk image is created.
      returned: success
      type: str
    sha1Checksum:
      description:
      - An optional SHA1 checksum of the disk image before unpackaging.
      - This is provided by the client when the disk image is created.
      returned: success
      type: str
    source:
      description:
      - The full Google Cloud Storage URL where disk storage is stored You must provide
        either this property or the sourceDisk property but not both.
      returned: success
      type: str
  description:
  - The parameters of the raw disk image.
  returned: success
  type: complex
sourceDisk:
  description:
  - The source disk to create this image based on.
  - You must provide either this property or the rawDisk.source property but not both
    to create an image.
  returned: success
  type: dict
sourceDiskEncryptionKey:
  contains:
    rawKey:
      description:
      - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
        base64 to either encrypt or decrypt this resource.
      returned: success
      type: str
    sha256:
      description:
      - The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption
        key that protects this resource.
      returned: success
      type: str
  description:
  - The customer-supplied encryption key of the source disk. Required if the source
    disk is protected by a customer-supplied encryption key.
  returned: success
  type: complex
sourceDiskId:
  description:
  - The ID value of the disk used to create this image. This value may be used to
    determine whether the image was taken from the current or a previous instance
    of a given disk name.
  returned: success
  type: str
sourceImage:
  description:
  - 'URL of the source image used to create this image. In order to create an image,
    you must provide the full or partial URL of one of the following: * The selfLink
    URL * This property * The rawDisk.source URL * The sourceDisk URL .'
  returned: success
  type: dict
sourceSnapshot:
  description:
  - URL of the source snapshot used to create this image.
  - 'In order to create an image, you must provide the full or partial URL of one
    of the following: * The selfLink URL * This property * The sourceImage URL * The
    rawDisk.source URL * The sourceDisk URL .'
  returned: success
  type: dict
sourceType:
  description:
  - The type of the image used to create this disk. The default and only value is
    RAW .
  returned: success
  type: str