delowan / delowan.googlecloud / 1.0.2 / module / gcp_compute_resource_policy Creates a GCP ResourcePolicy Authors: Google Inc. (@googlecloudplatform) preview | supported by communitydelowan.googlecloud.gcp_compute_resource_policy (1.0.2) — module
Install with ansible-galaxy collection install delowan.googlecloud:==1.0.2
collections: - name: delowan.googlecloud version: 1.0.2
A policy that can be attached to a resource to specify or schedule actions on that resource.
- name: create a resource policy google.cloud.gcp_compute_resource_policy: name: test_object region: us-central1 snapshot_schedule_policy: schedule: daily_schedule: days_in_cycle: 1 start_time: '04:00' project: test_project auth_kind: serviceaccount service_account_file: "/tmp/auth.pem" state: present
name: description: - The name of the resource, provided by the client when initially creating the resource. The resource 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 region: description: - Region where resource policy resides. required: true 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. Provide this property when you create the 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 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 group_placement_policy: description: - Resource policy for instances used for placement configuration. required: false suboptions: availability_domain_count: description: - The number of availability domains instances will be spread across. If two instances are in different availability domain, they will not be put in the same low latency network . required: false type: int collocation: description: - Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network. - Specify `COLLOCATED` to enable collocation. Can only be specified with `vm_count`. If compute instances are created with a COLLOCATED policy, then exactly `vm_count` instances must be created at the same time with the resource policy attached. - 'Some valid choices include: "COLLOCATED"' required: false type: str vm_count: description: - Number of vms in this placement group. required: false type: int type: dict instance_schedule_policy: description: - Resource policy for scheduling instance operations. required: false suboptions: expiration_time: description: - The expiration time of the schedule. The timestamp is an RFC3339 string. required: false type: str start_time: description: - The start time of the schedule. The timestamp is an RFC3339 string. required: false type: str time_zone: description: - 'Specifies the time zone to be used in interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.' required: true type: str vm_start_schedule: description: - Specifies the schedule for starting instances. required: false suboptions: schedule: description: - Specifies the frequency for the operation, using the unix-cron format. required: true type: str type: dict vm_stop_schedule: description: - Specifies the schedule for stopping instances. required: false suboptions: schedule: description: - Specifies the frequency for the operation, using the unix-cron format. required: true type: str type: dict type: dict 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 snapshot_schedule_policy: description: - Policy for creating snapshots of persistent disks. required: false suboptions: retention_policy: description: - Retention policy applied to snapshots created by this resource policy. required: false suboptions: max_retention_days: description: - Maximum age of the snapshot that is allowed to be kept. required: true type: int on_source_disk_delete: default: KEEP_AUTO_SNAPSHOTS description: - Specifies the behavior to apply to scheduled snapshots when the source disk is deleted. - 'Some valid choices include: "KEEP_AUTO_SNAPSHOTS", "APPLY_RETENTION_POLICY"' required: false type: str type: dict schedule: description: - Contains one of an `hourlySchedule`, `dailySchedule`, or `weeklySchedule`. required: true suboptions: daily_schedule: description: - The policy will execute every nth day at the specified time. required: false suboptions: days_in_cycle: description: - The number of days between snapshots. required: true type: int start_time: description: - This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid. required: true type: str type: dict hourly_schedule: description: - The policy will execute every nth hour starting at the specified time. required: false suboptions: hours_in_cycle: description: - The number of hours between snapshots. required: true type: int start_time: description: - Time within the window to start the operations. - 'It must be in an hourly format "HH:MM", where HH : [00-23] and MM : [00] GMT.' - 'eg: 21:00 .' required: true type: str type: dict weekly_schedule: description: - Allows specifying a snapshot time for each day of the week. required: false suboptions: day_of_weeks: description: - May contain up to seven (one for each day of the week) snapshot times. elements: dict required: true suboptions: day: description: - The day of the week to create the snapshot. e.g. MONDAY . - 'Some valid choices include: "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"' required: true type: str start_time: description: - Time within the window to start the operations. - 'It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT.' required: true type: str type: list type: dict type: dict snapshot_properties: description: - Properties with which the snapshots are created, such as labels. required: false suboptions: guest_flush: description: - Whether to perform a 'guest aware' snapshot. required: false type: bool labels: description: - A set of key-value pairs. required: false type: dict storage_locations: description: - Cloud Storage bucket location to store the auto snapshot (regional or multi-regional) . elements: str required: false type: list type: dict type: dict
description: description: - An optional description of this resource. Provide this property when you create the resource. returned: success type: str groupPlacementPolicy: contains: availabilityDomainCount: description: - The number of availability domains instances will be spread across. If two instances are in different availability domain, they will not be put in the same low latency network . returned: success type: int collocation: description: - Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network. - Specify `COLLOCATED` to enable collocation. Can only be specified with `vm_count`. If compute instances are created with a COLLOCATED policy, then exactly `vm_count` instances must be created at the same time with the resource policy attached. returned: success type: str vmCount: description: - Number of vms in this placement group. returned: success type: int description: - Resource policy for instances used for placement configuration. returned: success type: complex instanceSchedulePolicy: contains: expirationTime: description: - The expiration time of the schedule. The timestamp is an RFC3339 string. returned: success type: str startTime: description: - The start time of the schedule. The timestamp is an RFC3339 string. returned: success type: str timeZone: description: - 'Specifies the time zone to be used in interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.' returned: success type: str vmStartSchedule: contains: schedule: description: - Specifies the frequency for the operation, using the unix-cron format. returned: success type: str description: - Specifies the schedule for starting instances. returned: success type: complex vmStopSchedule: contains: schedule: description: - Specifies the frequency for the operation, using the unix-cron format. returned: success type: str description: - Specifies the schedule for stopping instances. returned: success type: complex description: - Resource policy for scheduling instance operations. returned: success type: complex name: description: - The name of the resource, provided by the client when initially creating the resource. The resource 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 region: description: - Region where resource policy resides. returned: success type: str snapshotSchedulePolicy: contains: retentionPolicy: contains: maxRetentionDays: description: - Maximum age of the snapshot that is allowed to be kept. returned: success type: int onSourceDiskDelete: description: - Specifies the behavior to apply to scheduled snapshots when the source disk is deleted. returned: success type: str description: - Retention policy applied to snapshots created by this resource policy. returned: success type: complex schedule: contains: dailySchedule: contains: daysInCycle: description: - The number of days between snapshots. returned: success type: int startTime: description: - This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid. returned: success type: str description: - The policy will execute every nth day at the specified time. returned: success type: complex hourlySchedule: contains: hoursInCycle: description: - The number of hours between snapshots. returned: success type: int startTime: description: - Time within the window to start the operations. - 'It must be in an hourly format "HH:MM", where HH : [00-23] and MM : [00] GMT.' - 'eg: 21:00 .' returned: success type: str description: - The policy will execute every nth hour starting at the specified time. returned: success type: complex weeklySchedule: contains: dayOfWeeks: contains: day: description: - The day of the week to create the snapshot. e.g. MONDAY . returned: success type: str startTime: description: - Time within the window to start the operations. - 'It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT.' returned: success type: str description: - May contain up to seven (one for each day of the week) snapshot times. returned: success type: complex description: - Allows specifying a snapshot time for each day of the week. returned: success type: complex description: - Contains one of an `hourlySchedule`, `dailySchedule`, or `weeklySchedule`. returned: success type: complex snapshotProperties: contains: guestFlush: description: - Whether to perform a 'guest aware' snapshot. returned: success type: bool labels: description: - A set of key-value pairs. returned: success type: dict storageLocations: description: - Cloud Storage bucket location to store the auto snapshot (regional or multi-regional) . returned: success type: list description: - Properties with which the snapshots are created, such as labels. returned: success type: complex description: - Policy for creating snapshots of persistent disks. returned: success type: complex