|
|
|
@ -89,6 +89,15 @@ options:
|
|
|
|
|
of sizeGb must not be less than the size of the sourceImage or the size of the
|
|
|
|
|
snapshot.
|
|
|
|
|
required: false
|
|
|
|
|
physical_block_size_bytes:
|
|
|
|
|
description:
|
|
|
|
|
- Physical block size of the persistent disk, in bytes. If not present in a request,
|
|
|
|
|
a default value is used. Currently supported sizes are 4096 and 16384, other
|
|
|
|
|
sizes may be added in the future.
|
|
|
|
|
- If an unsupported value is requested, the error message will list the supported
|
|
|
|
|
values for the caller's project.
|
|
|
|
|
required: false
|
|
|
|
|
version_added: 2.8
|
|
|
|
|
type:
|
|
|
|
|
description:
|
|
|
|
|
- URL of the disk type resource describing which disk type to use to create the
|
|
|
|
@ -124,11 +133,6 @@ options:
|
|
|
|
|
- Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
|
|
|
|
|
base64 to either encrypt or decrypt this resource.
|
|
|
|
|
required: false
|
|
|
|
|
sha256:
|
|
|
|
|
description:
|
|
|
|
|
- The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption
|
|
|
|
|
key that protects this resource.
|
|
|
|
|
required: false
|
|
|
|
|
kms_key_name:
|
|
|
|
|
description:
|
|
|
|
|
- The name of the encryption key that is stored in Google Cloud KMS.
|
|
|
|
@ -150,11 +154,6 @@ options:
|
|
|
|
|
- Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
|
|
|
|
|
base64 to either encrypt or decrypt this resource.
|
|
|
|
|
required: false
|
|
|
|
|
sha256:
|
|
|
|
|
description:
|
|
|
|
|
- The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption
|
|
|
|
|
key that protects this resource.
|
|
|
|
|
required: false
|
|
|
|
|
kms_key_name:
|
|
|
|
|
description:
|
|
|
|
|
- The name of the encryption key that is stored in Google Cloud KMS.
|
|
|
|
@ -183,27 +182,22 @@ options:
|
|
|
|
|
description:
|
|
|
|
|
- The name of the encryption key that is stored in Google Cloud KMS.
|
|
|
|
|
required: false
|
|
|
|
|
sha256:
|
|
|
|
|
description:
|
|
|
|
|
- The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption
|
|
|
|
|
key that protects this resource.
|
|
|
|
|
required: false
|
|
|
|
|
extends_documentation_fragment: gcp
|
|
|
|
|
notes:
|
|
|
|
|
- 'API Reference: U(https://cloud.google.com/compute/docs/reference/latest/disks)'
|
|
|
|
|
- 'API Reference: U(https://cloud.google.com/compute/docs/reference/v1/disks)'
|
|
|
|
|
- 'Adding a persistent disk: U(https://cloud.google.com/compute/docs/disks/add-persistent-disk)'
|
|
|
|
|
'''
|
|
|
|
|
|
|
|
|
|
EXAMPLES = '''
|
|
|
|
|
- name: create a disk
|
|
|
|
|
gcp_compute_disk:
|
|
|
|
|
name: "test_object"
|
|
|
|
|
name: test_object
|
|
|
|
|
size_gb: 50
|
|
|
|
|
disk_encryption_key:
|
|
|
|
|
raw_key: SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=
|
|
|
|
|
zone: us-central1-a
|
|
|
|
|
project: "test_project"
|
|
|
|
|
auth_kind: "serviceaccount"
|
|
|
|
|
project: test_project
|
|
|
|
|
auth_kind: serviceaccount
|
|
|
|
|
service_account_file: "/tmp/auth.pem"
|
|
|
|
|
state: present
|
|
|
|
|
'''
|
|
|
|
@ -277,6 +271,15 @@ users:
|
|
|
|
|
.'
|
|
|
|
|
returned: success
|
|
|
|
|
type: list
|
|
|
|
|
physicalBlockSizeBytes:
|
|
|
|
|
description:
|
|
|
|
|
- Physical block size of the persistent disk, in bytes. If not present in a request,
|
|
|
|
|
a default value is used. Currently supported sizes are 4096 and 16384, other sizes
|
|
|
|
|
may be added in the future.
|
|
|
|
|
- If an unsupported value is requested, the error message will list the supported
|
|
|
|
|
values for the caller's project.
|
|
|
|
|
returned: success
|
|
|
|
|
type: int
|
|
|
|
|
type:
|
|
|
|
|
description:
|
|
|
|
|
- URL of the disk type resource describing which disk type to use to create the
|
|
|
|
@ -432,13 +435,14 @@ def main():
|
|
|
|
|
licenses=dict(type='list', elements='str'),
|
|
|
|
|
name=dict(required=True, type='str'),
|
|
|
|
|
size_gb=dict(type='int'),
|
|
|
|
|
physical_block_size_bytes=dict(type='int'),
|
|
|
|
|
type=dict(type='str'),
|
|
|
|
|
source_image=dict(type='str'),
|
|
|
|
|
zone=dict(required=True, type='str'),
|
|
|
|
|
source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'), kms_key_name=dict(type='str'))),
|
|
|
|
|
disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'), kms_key_name=dict(type='str'))),
|
|
|
|
|
source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), kms_key_name=dict(type='str'))),
|
|
|
|
|
disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), kms_key_name=dict(type='str'))),
|
|
|
|
|
source_snapshot=dict(),
|
|
|
|
|
source_snapshot_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), kms_key_name=dict(type='str'), sha256=dict(type='str'))),
|
|
|
|
|
source_snapshot_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), kms_key_name=dict(type='str'))),
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
@ -522,6 +526,7 @@ def resource_to_request(module):
|
|
|
|
|
u'licenses': module.params.get('licenses'),
|
|
|
|
|
u'name': module.params.get('name'),
|
|
|
|
|
u'sizeGb': module.params.get('size_gb'),
|
|
|
|
|
u'physicalBlockSizeBytes': module.params.get('physical_block_size_bytes'),
|
|
|
|
|
u'type': disk_type_selflink(module.params.get('type'), module.params),
|
|
|
|
|
u'sourceImage': module.params.get('source_image'),
|
|
|
|
|
}
|
|
|
|
@ -600,6 +605,7 @@ def response_to_hash(module, response):
|
|
|
|
|
u'name': module.params.get('name'),
|
|
|
|
|
u'sizeGb': response.get(u'sizeGb'),
|
|
|
|
|
u'users': response.get(u'users'),
|
|
|
|
|
u'physicalBlockSizeBytes': response.get(u'physicalBlockSizeBytes'),
|
|
|
|
|
u'type': response.get(u'type'),
|
|
|
|
|
u'sourceImage': module.params.get('source_image'),
|
|
|
|
|
}
|
|
|
|
|