diff --git a/lib/ansible/modules/cloud/google/gcp_bigquery_dataset.py b/lib/ansible/modules/cloud/google/gcp_bigquery_dataset.py index 82105bde1f0..5afa3fd62b3 100644 --- a/lib/ansible/modules/cloud/google/gcp_bigquery_dataset.py +++ b/lib/ansible/modules/cloud/google/gcp_bigquery_dataset.py @@ -51,35 +51,42 @@ options: description: - Dataset name. required: false + type: str access: description: - Access controls on the bucket. required: false + type: list suboptions: domain: description: - A domain to grant access to. Any users signed in with the domain specified will be granted the specified access . required: false + type: str group_by_email: description: - An email address of a Google Group to grant access to. required: false + type: str role: description: - Describes the rights granted to the user specified by the other member of the access object . - 'Some valid choices include: "READER", "WRITER", "OWNER"' required: false + type: str special_group: description: - A special group to grant access to. required: false + type: str user_by_email: description: - 'An email address of a user to grant access to. For example: fred@example.com .' required: false + type: str view: description: - A view from a different dataset to grant access to. Queries executed against @@ -87,24 +94,29 @@ options: is not required when this field is set. If that view is updated by any user, access to the view needs to be granted again via an update operation. required: false + type: dict suboptions: dataset_id: description: - The ID of the dataset containing this table. required: true + type: str project_id: description: - The ID of the project containing this table. required: true + type: str table_id: description: - The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores. The maximum length is 1,024 characters. required: true + type: str dataset_reference: description: - A reference that identifies the dataset. required: true + type: dict suboptions: dataset_id: description: @@ -112,33 +124,40 @@ options: only letters (a-z, A-Z), numbers (0-9), or underscores. The maximum length is 1,024 characters. required: true + type: str project_id: description: - The ID of the project containing this dataset. required: false + type: str default_table_expiration_ms: description: - The default lifetime of all tables in the dataset, in milliseconds . required: false + type: int description: description: - A user-friendly description of the dataset. required: false + type: str friendly_name: description: - A descriptive name for the dataset. required: false + type: str labels: description: - The labels associated with this dataset. You can use these to organize and group your datasets . required: false + type: dict location: description: - The geographic location where the dataset should reside. Possible values include EU and US. The default value is US. required: false default: US + type: str extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_bigquery_table.py b/lib/ansible/modules/cloud/google/gcp_bigquery_table.py index fcd6d2fa61d..98f401c389f 100644 --- a/lib/ansible/modules/cloud/google/gcp_bigquery_table.py +++ b/lib/ansible/modules/cloud/google/gcp_bigquery_table.py @@ -51,40 +51,49 @@ options: description: - Reference describing the ID of this table. required: false + type: dict suboptions: dataset_id: description: - The ID of the dataset containing this table. required: false + type: str project_id: description: - The ID of the project containing this table. required: false + type: str table_id: description: - The ID of the the table. required: false + type: str description: description: - A user-friendly description of the dataset. required: false + type: str friendly_name: description: - A descriptive name for this table. required: false + type: str labels: description: - The labels associated with this dataset. You can use these to organize and group your datasets . required: false + type: dict name: description: - Name of the table. required: false + type: str view: description: - The view definition. required: false + type: dict suboptions: use_legacy_sql: description: @@ -95,6 +104,7 @@ options: description: - Describes user-defined function resources used in the query. required: false + type: list suboptions: inline_code: description: @@ -102,61 +112,74 @@ options: Providing a inline code resource is equivalent to providing a URI for a file containing the same code. required: false + type: str resource_uri: description: - A code resource to load from a Google Cloud Storage URI (gs://bucket/path). required: false + type: str time_partitioning: description: - If specified, configures time-based partitioning for this table. required: false + type: dict suboptions: expiration_ms: description: - Number of milliseconds for which to keep the storage for a partition. required: false + type: int type: description: - The only type supported is DAY, which will generate one partition per day. - 'Some valid choices include: "DAY"' required: false + type: str schema: description: - Describes the schema of this table. required: false + type: dict suboptions: fields: description: - Describes the fields in a table. required: false + type: list suboptions: description: description: - The field description. The maximum length is 1,024 characters. required: false + type: str fields: description: - Describes the nested schema fields if the type property is set to RECORD. required: false + type: list mode: description: - The field mode. - 'Some valid choices include: "NULLABLE", "REQUIRED", "REPEATED"' required: false + type: str name: description: - The field name. required: false + type: str type: description: - The field data type. - 'Some valid choices include: "STRING", "BYTES", "INTEGER", "FLOAT", "TIMESTAMP", "DATE", "TIME", "DATETIME", "RECORD"' required: false + type: str encryption_configuration: description: - Custom encryption configuration. required: false + type: dict suboptions: kms_key_name: description: @@ -164,17 +187,20 @@ options: BigQuery table. The BigQuery Service Account associated with your project requires access to this encryption key. required: false + type: str expiration_time: description: - The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. required: false + type: int external_data_configuration: description: - Describes the data format, location, and other properties of a table stored outside of BigQuery. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. required: false + type: dict suboptions: autodetect: description: @@ -187,6 +213,7 @@ options: - The compression type of the data source. - 'Some valid choices include: "GZIP", "NONE"' required: false + type: str ignore_unknown_values: description: - Indicates if BigQuery should allow extra values that are not represented @@ -199,12 +226,14 @@ options: data . required: false default: '0' + type: int source_format: description: - The data format. - 'Some valid choices include: "CSV", "GOOGLE_SHEETS", "NEWLINE_DELIMITED_JSON", "AVRO", "DATASTORE_BACKUP", "BIGTABLE"' required: false + type: str source_uris: description: - The fully-qualified URIs that point to your data in Google Cloud. @@ -216,44 +245,53 @@ options: backups, exactly one URI can be specified. Also, the ''*'' wildcard character is not allowed.' required: false + type: list schema: description: - The schema for the data. Schema is required for CSV and JSON formats. required: false + type: dict suboptions: fields: description: - Describes the fields in a table. required: false + type: list suboptions: description: description: - The field description. required: false + type: str fields: description: - Describes the nested schema fields if the type property is set to RECORD . required: false + type: list mode: description: - Field mode. - 'Some valid choices include: "NULLABLE", "REQUIRED", "REPEATED"' required: false + type: str name: description: - Field name. required: false + type: str type: description: - Field data type. - 'Some valid choices include: "STRING", "BYTES", "INTEGER", "FLOAT", "TIMESTAMP", "DATE", "TIME", "DATETIME", "RECORD"' required: false + type: str google_sheets_options: description: - Additional options if sourceFormat is set to GOOGLE_SHEETS. required: false + type: dict suboptions: skip_leading_rows: description: @@ -261,10 +299,12 @@ options: when reading the data. required: false default: '0' + type: int csv_options: description: - Additional properties to set if sourceFormat is set to CSV. required: false + type: dict suboptions: allow_jagged_rows: description: @@ -283,24 +323,29 @@ options: - The character encoding of the data. - 'Some valid choices include: "UTF-8", "ISO-8859-1"' required: false + type: str field_delimiter: description: - The separator for fields in a CSV file. required: false + type: str quote: description: - The value that is used to quote data sections in a CSV file. required: false + type: str skip_leading_rows: description: - The number of rows at the top of a CSV file that BigQuery will skip when reading the data. required: false default: '0' + type: int bigtable_options: description: - Additional options if sourceFormat is set to BIGTABLE. required: false + type: dict suboptions: ignore_unspecified_column_families: description: @@ -319,24 +364,28 @@ options: - List of column families to expose in the table schema along with their types. required: false + type: list suboptions: columns: description: - Lists of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. required: false + type: list suboptions: encoding: description: - The encoding of the values when the type is not STRING. - 'Some valid choices include: "TEXT", "BINARY"' required: false + type: str field_name: description: - If the qualifier is not a valid BigQuery field identifier, a valid identifier must be provided as the column field name and is used as field name in queries. required: false + type: str only_read_latest: description: - If this is set, only the latest version of value in this column @@ -347,21 +396,25 @@ options: description: - Qualifier of the column. required: true + type: str type: description: - The type to convert the value in cells of this column. - 'Some valid choices include: "BYTES", "STRING", "INTEGER", "FLOAT", "BOOLEAN"' required: false + type: str encoding: description: - The encoding of the values when the type is not STRING. - 'Some valid choices include: "TEXT", "BINARY"' required: false + type: str family_id: description: - Identifier of the column family. required: false + type: str only_read_latest: description: - If this is set only the latest version of value are exposed for @@ -374,10 +427,12 @@ options: - 'Some valid choices include: "BYTES", "STRING", "INTEGER", "FLOAT", "BOOLEAN"' required: false + type: str dataset: description: - Name of the dataset. required: false + type: str extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_bigquery_table_facts.py b/lib/ansible/modules/cloud/google/gcp_bigquery_table_facts.py index 08a8d20c3eb..eeaaa599433 100644 --- a/lib/ansible/modules/cloud/google/gcp_bigquery_table_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_bigquery_table_facts.py @@ -44,6 +44,7 @@ options: description: - Name of the dataset. required: false + type: str extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_cloudbuild_trigger.py b/lib/ansible/modules/cloud/google/gcp_cloudbuild_trigger.py index 2b3d821e8f1..1b98d21744d 100644 --- a/lib/ansible/modules/cloud/google/gcp_cloudbuild_trigger.py +++ b/lib/ansible/modules/cloud/google/gcp_cloudbuild_trigger.py @@ -51,10 +51,12 @@ options: description: - The unique identifier for the trigger. required: false + type: str description: description: - Human-readable description of the trigger. required: false + type: str disabled: description: - Whether the trigger is disabled or not. If true, the trigger will never result @@ -65,11 +67,13 @@ options: description: - Substitutions data for Build resource. required: false + type: dict filename: description: - Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. required: false + type: str ignored_files: description: - ignoredFiles and includedFiles are file glob matches using http://godoc/pkg/path/filepath#Match @@ -80,6 +84,7 @@ options: ignored_file globs. If the change has no files that are outside of the ignoredFiles globs, then we do not trigger a build. required: false + type: list included_files: description: - ignoredFiles and includedFiles are file glob matches using http://godoc/pkg/path/filepath#Match @@ -90,6 +95,7 @@ options: is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build. required: false + type: list trigger_template: description: - Template describing the types of source changes to trigger a build. @@ -97,48 +103,57 @@ options: Any branch or tag change that matches that regular expression will trigger a build. required: false + type: dict suboptions: project_id: description: - ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed. required: false + type: str repo_name: description: - Name of the Cloud Source Repository. If omitted, the name "default" is assumed. required: false default: default + type: str dir: description: - Directory, relative to the source root, in which to run the build. - This must be a relative path. If a step's dir is specified and is an absolute path, this value is ignored for that step's execution. required: false + type: str branch_name: description: - Name of the branch to build. Exactly one a of branch name, tag, or commit SHA must be provided. required: false + type: str tag_name: description: - Name of the tag to build. Exactly one of a branch name, tag, or commit SHA must be provided. required: false + type: str commit_sha: description: - Explicit commit SHA to build. Exactly one of a branch name, tag, or commit SHA must be provided. required: false + type: str build: description: - Contents of the build template. Either a filename or build template must be provided. required: false + type: dict suboptions: tags: description: - Tags for annotation of a Build. These are not docker tags. required: false + type: list images: description: - A list of images to be pushed upon the successful completion of all build @@ -148,10 +163,12 @@ options: results field. - If any of the images fail to be pushed, the build status is marked FAILURE. required: false + type: list steps: description: - The operations to be performed on the workspace. required: false + type: list suboptions: name: description: @@ -169,6 +186,7 @@ options: the host's Docker daemon's cache and is available to use as the name for a later build step. required: false + type: str args: description: - A list of arguments that will be presented to the step when it is started. @@ -177,6 +195,7 @@ options: define an entrypoint, the first element in args is used as the entrypoint, and the remainder will be used as arguments. required: false + type: list env: description: - A list of environment variable definitions to be used when running a @@ -184,16 +203,19 @@ options: - The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE". required: false + type: list id: description: - Unique identifier for this build step, used in `wait_for` to reference this build step as a dependency. required: false + type: str entrypoint: description: - Entrypoint to be used instead of the build step image's default entrypoint. - If unset, the image's default entrypoint is used . required: false + type: str dir: description: - Working directory to use when running this step's container. @@ -206,22 +228,26 @@ options: which specifies an absolute path, the `RepoSource` `dir` is ignored for the step's execution. required: false + type: str secret_env: description: - A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. required: false + type: list timeout: description: - Time limit for executing this build step. If not defined, the step has no time limit and will be allowed to continue to run until either it completes or the build itself times out. required: false + type: str timing: description: - Output only. Stores timing information for executing this build step. required: false + type: str volumes: description: - List of volumes to mount into the build step. @@ -231,6 +257,7 @@ options: - Using a named volume in only one step is not valid as it is indicative of a build request with an incorrect configuration. required: false + type: list suboptions: name: description: @@ -239,12 +266,14 @@ options: for Docker volumes. Each named volume must be used by at least two build steps. required: false + type: str path: description: - Path at which to mount the volume. - Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths. required: false + type: str wait_for: description: - The ID(s) of the step(s) that this build step depends on. @@ -253,6 +282,7 @@ options: will start when all previous build steps in the `Build.Steps` list have completed successfully. required: false + type: list extends_documentation_fragment: gcp notes: - 'API Reference: U(https://cloud.google.com/cloud-build/docs/api/reference/rest/)' diff --git a/lib/ansible/modules/cloud/google/gcp_cloudscheduler_job.py b/lib/ansible/modules/cloud/google/gcp_cloudscheduler_job.py index 5720b7d5276..cf353cfceb8 100644 --- a/lib/ansible/modules/cloud/google/gcp_cloudscheduler_job.py +++ b/lib/ansible/modules/cloud/google/gcp_cloudscheduler_job.py @@ -55,27 +55,32 @@ options: description: - The name of the job. required: true + type: str description: description: - A human-readable description for the job. This string must not contain more than 500 characters. required: false + type: str schedule: description: - Describes the schedule on which the job will be executed. required: false + type: str time_zone: description: - Specifies the time zone to be used in interpreting schedule. - The value of this field must be a time zone name from the tz database. required: false default: Etc/UTC + type: str retry_config: description: - By default, if a job does not complete successfully, meaning that an acknowledgement is not received from the handler, then it will be retried with exponential backoff according to the settings . required: false + type: dict suboptions: retry_count: description: @@ -83,6 +88,7 @@ options: exponential backoff procedure described by maxDoublings. - Values greater than 5 and negative values are not allowed. required: false + type: int max_retry_duration: description: - The time limit for retrying a failed job, measured from time when an execution @@ -90,16 +96,19 @@ options: until both limits are reached. - A duration in seconds with up to nine fractional digits, terminated by 's'. required: false + type: str min_backoff_duration: description: - The minimum amount of time to wait before retrying a job after it fails. - A duration in seconds with up to nine fractional digits, terminated by 's'. required: false + type: str max_backoff_duration: description: - The maximum amount of time to wait before retrying a job after it fails. - A duration in seconds with up to nine fractional digits, terminated by 's'. required: false + type: str max_doublings: description: - The time between retries will double maxDoublings times. @@ -107,11 +116,13 @@ options: times, then increases linearly, and finally retries retries at intervals of maxBackoffDuration up to retryCount times. required: false + type: int pubsub_target: description: - Pub/Sub target If the job providers a Pub/Sub target the cron will publish a message to the provided topic . required: false + type: dict suboptions: topic_name: description: @@ -119,31 +130,37 @@ options: when a job is delivered. The topic name must be in the same format as required by PubSub's PublishRequest.name, for example projects/PROJECT_ID/topics/TOPIC_ID. required: true + type: str data: description: - The message payload for PubsubMessage. - Pubsub message must contain either non-empty data, or at least one attribute. required: false + type: str attributes: description: - Attributes for PubsubMessage. - Pubsub message must contain either non-empty data, or at least one attribute. required: false + type: dict app_engine_http_target: description: - App Engine HTTP target. - If the job providers a App Engine HTTP target the cron will send a request to the service instance . required: false + type: dict suboptions: http_method: description: - Which HTTP method to use for the request. required: false + type: str app_engine_routing: description: - App Engine Routing setting for the job. required: false + type: dict suboptions: service: description: @@ -151,64 +168,76 @@ options: - By default, the job is sent to the service which is the default service when the job is attempted. required: false + type: str version: description: - App version. - By default, the job is sent to the version which is the default version when the job is attempted. required: false + type: str instance: description: - App instance. - By default, the job is sent to an instance which is available when the job is attempted. required: false + type: str relative_uri: description: - The relative URI. required: true + type: str body: description: - HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. required: false + type: str headers: description: - HTTP request headers. - This map contains the header field names and values. Headers can be set when the job is created. required: false + type: dict http_target: description: - HTTP target. - If the job providers a http_target the cron will send a request to the targeted url . required: false + type: dict suboptions: uri: description: - The full URI path that the request will be sent to. required: true + type: str http_method: description: - Which HTTP method to use for the request. required: false + type: str body: description: - HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. required: false + type: str headers: description: - This map contains the header field names and values. Repeated headers are not supported, but a header value can contain commas. required: false + type: dict region: description: - Region where the scheduler job resides . required: true + type: str extends_documentation_fragment: gcp notes: - 'API Reference: U(https://cloud.google.com/scheduler/docs/reference/rest/)' diff --git a/lib/ansible/modules/cloud/google/gcp_cloudscheduler_job_facts.py b/lib/ansible/modules/cloud/google/gcp_cloudscheduler_job_facts.py index b536dabee66..51052c8de93 100644 --- a/lib/ansible/modules/cloud/google/gcp_cloudscheduler_job_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_cloudscheduler_job_facts.py @@ -44,6 +44,7 @@ options: description: - Region where the scheduler job resides . required: true + type: str extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_compute_address.py b/lib/ansible/modules/cloud/google/gcp_compute_address.py index 5c0af5ec4bb..ecce02e54ec 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_address.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_address.py @@ -62,6 +62,7 @@ options: An address may only be specified for INTERNAL address types. The IP address must be inside the specified subnetwork, if any. required: false + type: str address_type: description: - The type of address to reserve, either INTERNAL or EXTERNAL. @@ -69,11 +70,13 @@ options: - 'Some valid choices include: "INTERNAL", "EXTERNAL"' required: false default: EXTERNAL + type: str version_added: 2.7 description: description: - An optional description of this resource. required: false + type: str name: description: - Name of the resource. The name must be 1-63 characters long, and comply with @@ -82,6 +85,7 @@ options: 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 network_tier: description: - 'The networking tier used for configuring this address. This field can take @@ -89,6 +93,7 @@ options: is assumed to be PREMIUM.' - 'Some valid choices include: "PREMIUM", "STANDARD"' required: false + type: str version_added: 2.8 subnetwork: description: @@ -102,12 +107,14 @@ options: to a gcp_compute_subnetwork task and then set this subnetwork field to "{{ name-of-resource }}"' required: false + type: dict version_added: 2.7 region: description: - URL of the region where the regional address resides. - This field is not applicable to global addresses. required: true + type: str extends_documentation_fragment: gcp notes: - 'API Reference: U(https://cloud.google.com/compute/docs/reference/beta/addresses)' diff --git a/lib/ansible/modules/cloud/google/gcp_compute_address_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_address_facts.py index 94567c3c066..b825b3265d4 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_address_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_address_facts.py @@ -50,6 +50,7 @@ options: - URL of the region where the regional address resides. - This field is not applicable to global addresses. required: true + type: str extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_compute_backend_bucket.py b/lib/ansible/modules/cloud/google/gcp_compute_backend_bucket.py index 2658387d8c7..1745ff6ad21 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_backend_bucket.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_backend_bucket.py @@ -55,10 +55,12 @@ options: description: - Cloud Storage bucket name. required: true + type: str cdn_policy: description: - Cloud CDN configuration for this Backend Bucket. required: false + type: dict version_added: 2.8 suboptions: signed_url_cache_max_age_sec: @@ -72,11 +74,13 @@ options: The actual headers served in responses will not be altered.' required: false default: '3600' + type: int description: description: - An optional textual description of the resource; provided by the client when the resource is created. required: false + type: str enable_cdn: description: - If true, enable Cloud CDN for this BackendBucket. @@ -91,6 +95,7 @@ options: characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. required: true + type: str extends_documentation_fragment: gcp notes: - 'API Reference: U(https://cloud.google.com/compute/docs/reference/v1/backendBuckets)' diff --git a/lib/ansible/modules/cloud/google/gcp_compute_backend_service.py b/lib/ansible/modules/cloud/google/gcp_compute_backend_service.py index 135fafd32db..4708253f955 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_backend_service.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_backend_service.py @@ -58,10 +58,12 @@ options: session (or equivalent). The maximum allowed value for TTL is one day. - When the load balancing scheme is INTERNAL, this field is not used. required: false + type: int backends: description: - The set of backends that serve this BackendService. required: false + type: list suboptions: balancing_mode: description: @@ -71,6 +73,7 @@ options: - 'Some valid choices include: "UTILIZATION", "RATE", "CONNECTION"' required: false default: UTILIZATION + type: str capacity_scaler: description: - A multiplier applied to the group's maximum servicing capacity (based on @@ -81,11 +84,13 @@ options: [0.0,1.0]. required: false default: '1.0' + type: str description: description: - An optional description of this resource. - Provide this property when you create the resource. required: false + type: str group: description: - The fully-qualified URL of an Instance Group or Network Endpoint Group resource. @@ -101,6 +106,7 @@ options: - Note that you must specify an Instance Group or Network Endpoint Group resource using the fully-qualified URL, rather than a partial URL. required: false + type: str max_connections: description: - The max number of simultaneous connections for the group. Can be used with @@ -108,6 +114,7 @@ options: - For CONNECTION mode, either maxConnections or one of maxConnectionsPerInstance or maxConnectionsPerEndpoint, as appropriate for group type, must be set. required: false + type: int max_connections_per_instance: description: - The max number of simultaneous connections that a single backend instance @@ -116,6 +123,7 @@ options: - For CONNECTION mode, either maxConnections or maxConnectionsPerInstance must be set. required: false + type: int max_connections_per_endpoint: description: - The max number of simultaneous connections that a single backend network @@ -124,6 +132,7 @@ options: - For CONNECTION mode, either maxConnections or maxConnectionsPerEndpoint must be set. required: false + type: int version_added: 2.9 max_rate: description: @@ -132,6 +141,7 @@ options: if RATE mode. For RATE mode, either maxRate or one of maxRatePerInstance or maxRatePerEndpoint, as appropriate for group type, must be set. required: false + type: int max_rate_per_instance: description: - The max requests per second (RPS) that a single backend instance can handle. @@ -139,6 +149,7 @@ options: balancing mode. For RATE mode, either maxRate or maxRatePerInstance must be set. required: false + type: str max_rate_per_endpoint: description: - The max requests per second (RPS) that a single backend network endpoint @@ -146,6 +157,7 @@ options: used in either balancing mode. For RATE mode, either maxRate or maxRatePerEndpoint must be set. required: false + type: str version_added: 2.9 max_utilization: description: @@ -153,15 +165,18 @@ options: target for the group. The default is 0.8. Valid range is [0.0, 1.0]. required: false default: '0.8' + type: str cdn_policy: description: - Cloud CDN configuration for this BackendService. required: false + type: dict suboptions: cache_key_policy: description: - The CacheKeyPolicy for this CdnPolicy. required: false + type: dict suboptions: include_host: description: @@ -188,6 +203,7 @@ options: or query_string_blacklist, not both. - "'&' and '=' will be percent encoded and not treated as delimiters." required: false + type: list query_string_whitelist: description: - Names of query string parameters to include in cache keys. @@ -195,6 +211,7 @@ options: or query_string_blacklist, not both. - "'&' and '=' will be percent encoded and not treated as delimiters." required: false + type: list signed_url_cache_max_age_sec: description: - Maximum number of seconds the response to a signed URL request will be considered @@ -206,11 +223,13 @@ options: The actual headers served in responses will not be altered.' required: false default: '3600' + type: int version_added: 2.8 connection_draining: description: - Settings for connection draining . required: false + type: dict suboptions: draining_timeout_sec: description: @@ -218,10 +237,12 @@ options: still work to finish started). required: false default: '300' + type: int description: description: - An optional description of this resource. required: false + type: str enable_cdn: description: - If true, enable Cloud CDN for this BackendService. @@ -235,10 +256,12 @@ options: - For internal load balancing, a URL to a HealthCheck resource must be specified instead. required: true + type: list iap: description: - Settings for enabling Cloud Identity Aware Proxy. required: false + type: dict version_added: 2.7 suboptions: enabled: @@ -250,10 +273,12 @@ options: description: - OAuth2 Client ID for IAP . required: true + type: str oauth2_client_secret: description: - OAuth2 Client Secret for IAP . required: true + type: str load_balancing_scheme: description: - Indicates whether the backend service will be used with internal or external @@ -263,6 +288,7 @@ options: - 'Some valid choices include: "EXTERNAL", "INTERNAL_SELF_MANAGED"' required: false default: EXTERNAL + type: str version_added: 2.7 name: description: @@ -273,11 +299,13 @@ options: characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. required: true + type: str port_name: description: - Name of backend port. The same name should appear in the instance groups referenced by this service. Required when the load balancing scheme is EXTERNAL. required: false + type: str protocol: description: - The protocol this BackendService uses to communicate with backends. @@ -286,10 +314,12 @@ options: in errors if used with the GA API.' - 'Some valid choices include: "HTTP", "HTTPS", "HTTP2", "TCP", "SSL"' required: false + type: str security_policy: description: - The security policy associated with this backend service. required: false + type: str version_added: 2.8 session_affinity: description: @@ -298,11 +328,13 @@ options: - When the protocol is UDP, this field is not used. - 'Some valid choices include: "NONE", "CLIENT_IP", "GENERATED_COOKIE"' required: false + type: str timeout_sec: description: - How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. Valid range is [1, 86400]. required: false + type: int aliases: - timeout_seconds extends_documentation_fragment: gcp diff --git a/lib/ansible/modules/cloud/google/gcp_compute_disk.py b/lib/ansible/modules/cloud/google/gcp_compute_disk.py index dce85cf8864..8fded8bf8fe 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_disk.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_disk.py @@ -62,15 +62,18 @@ options: - An optional description of this resource. Provide this property when you create the resource. required: false + type: str labels: description: - Labels to apply to this disk. A list of key->value pairs. required: false + type: dict version_added: 2.7 licenses: description: - Any applicable publicly visible licenses. required: false + type: list name: description: - Name of the resource. Provided by the client when the resource is created. The @@ -80,6 +83,7 @@ options: characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. required: true + type: str size_gb: description: - Size of the persistent disk, specified in GB. You can specify this field when @@ -89,6 +93,7 @@ options: of sizeGb must not be less than the size of the sourceImage or the size of the snapshot. required: false + type: int physical_block_size_bytes: description: - Physical block size of the persistent disk, in bytes. If not present in a request, @@ -97,12 +102,14 @@ options: - If an unsupported value is requested, the error message will list the supported values for the caller's project. required: false + type: int version_added: 2.8 type: description: - URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. required: false + type: str version_added: 2.7 source_image: description: @@ -118,25 +125,30 @@ options: image in that family. Replace the image name with family/family-name: global/images/family/my-private-family .' required: false + type: str zone: description: - A reference to the zone where the disk resides. required: true + type: str source_image_encryption_key: description: - The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. required: false + type: dict 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 kms_key_name: description: - The name of the encryption key that is stored in Google Cloud KMS. required: false + type: str disk_encryption_key: description: - Encrypts the disk using a customer-supplied encryption key. @@ -148,16 +160,19 @@ options: will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later. required: false + type: dict 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 kms_key_name: description: - The name of the encryption key that is stored in Google Cloud KMS. required: false + type: str source_snapshot: description: - The source snapshot used to create this disk. You can provide this as a partial @@ -168,21 +183,25 @@ options: to a gcp_compute_snapshot task and then set this source_snapshot field to "{{ name-of-resource }}"' required: false + type: dict source_snapshot_encryption_key: description: - The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key. required: false + type: dict 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 kms_key_name: description: - The name of the encryption key that is stored in Google Cloud KMS. required: false + type: str extends_documentation_fragment: gcp notes: - 'API Reference: U(https://cloud.google.com/compute/docs/reference/v1/disks)' diff --git a/lib/ansible/modules/cloud/google/gcp_compute_disk_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_disk_facts.py index 41e7338a88e..382ce991cc1 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_disk_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_disk_facts.py @@ -49,6 +49,7 @@ options: description: - A reference to the zone where the disk resides. required: true + type: str extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_compute_firewall.py b/lib/ansible/modules/cloud/google/gcp_compute_firewall.py index 24317d03d24..d4432e0be68 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_firewall.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_firewall.py @@ -59,6 +59,7 @@ options: - The list of ALLOW rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection. required: false + type: list suboptions: ip_protocol: description: @@ -67,6 +68,7 @@ options: well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP protocol number. required: true + type: str ports: description: - An optional list of ports to which this rule applies. This field is only @@ -75,11 +77,13 @@ options: port. - 'Example inputs include: ["22"], ["80","443"], and ["12345-12349"].' required: false + type: list denied: description: - The list of DENY rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a denied connection. required: false + type: list version_added: 2.8 suboptions: ip_protocol: @@ -89,6 +93,7 @@ options: well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP protocol number. required: true + type: str ports: description: - An optional list of ports to which this rule applies. This field is only @@ -97,17 +102,20 @@ options: port. - 'Example inputs include: ["22"], ["80","443"], and ["12345-12349"].' required: false + type: list description: description: - An optional description of this resource. Provide this property when you create the resource. required: false + type: str destination_ranges: description: - If destination ranges are specified, the firewall will apply only to traffic that has destination IP address in these ranges. These ranges must be expressed in CIDR format. Only IPv4 is supported. required: false + type: list version_added: 2.8 direction: description: @@ -116,6 +124,7 @@ options: traffic, it is NOT supported to specify sourceRanges OR sourceTags.' - 'Some valid choices include: "INGRESS", "EGRESS"' required: false + type: str version_added: 2.8 disabled: description: @@ -135,6 +144,7 @@ options: characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. required: true + type: str network: description: - 'URL of the network resource for this firewall rule. If not specified when creating @@ -151,6 +161,7 @@ options: required: false default: selfLink: global/networks/default + type: dict priority: description: - Priority for this rule. This is an integer between 0 and 65535, both inclusive. @@ -160,6 +171,7 @@ options: 1). DENY rules take precedence over ALLOW rules having equal priority. required: false default: '1000' + type: int version_added: 2.8 source_ranges: description: @@ -171,6 +183,7 @@ options: property. The connection does not need to match both properties for the firewall to apply. Only IPv4 is supported. required: false + type: list source_service_accounts: description: - If source service accounts are specified, the firewall will apply only to traffic @@ -183,6 +196,7 @@ options: The connection does not need to match both properties for the firewall to apply. sourceServiceAccounts cannot be used at the same time as sourceTags or targetTags. required: false + type: list version_added: 2.8 source_tags: description: @@ -195,6 +209,7 @@ options: tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply. required: false + type: list target_service_accounts: description: - A list of service accounts indicating sets of instances located in the network @@ -203,6 +218,7 @@ options: If neither targetServiceAccounts nor targetTags are specified, the firewall rule applies to all instances on the specified network. required: false + type: list version_added: 2.8 target_tags: description: @@ -211,6 +227,7 @@ options: - If no targetTags are specified, the firewall rule applies to all instances on the specified network. required: false + type: list extends_documentation_fragment: gcp notes: - 'API Reference: U(https://cloud.google.com/compute/docs/reference/v1/firewalls)' diff --git a/lib/ansible/modules/cloud/google/gcp_compute_forwarding_rule.py b/lib/ansible/modules/cloud/google/gcp_compute_forwarding_rule.py index d0eb51d642c..d9dfd3e58ca 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_forwarding_rule.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_forwarding_rule.py @@ -54,6 +54,7 @@ options: - An optional description of this resource. Provide this property when you create the resource. required: false + type: str ip_address: description: - The IP address that this forwarding rule is serving on behalf of. @@ -76,6 +77,7 @@ options: * projects/project/regions/region/addresses/address * regions/region/addresses/address * global/addresses/address * address .' required: false + type: str ip_protocol: description: - The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, @@ -83,6 +85,7 @@ options: - When the load balancing scheme is INTERNAL, only TCP and UDP are valid. - 'Some valid choices include: "TCP", "UDP", "ESP", "AH", "SCTP", "ICMP"' required: false + type: str backend_service: description: - A BackendService to receive the matched traffic. This is used only for INTERNAL @@ -93,11 +96,13 @@ options: name-of-resource` to a gcp_compute_backend_service task and then set this backend_service field to "{{ name-of-resource }}"' required: false + type: dict ip_version: description: - ipVersion is not a valid field for regional forwarding rules. - 'Some valid choices include: "IPV4", "IPV6"' required: false + type: str load_balancing_scheme: description: - 'This signifies what the ForwardingRule will be used for and can only take the @@ -107,6 +112,7 @@ options: TCP/UDP LB, SSL Proxy) .' - 'Some valid choices include: "INTERNAL", "EXTERNAL"' required: false + type: str name: description: - Name of the resource; provided by the client when the resource is created. The @@ -116,6 +122,7 @@ options: characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. required: true + type: str network: description: - For internal load balancing, this field identifies the network that the load @@ -128,6 +135,7 @@ options: to a gcp_compute_network task and then set this network field to "{{ name-of-resource }}"' required: false + type: dict port_range: description: - This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, @@ -142,6 +150,7 @@ options: 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetVpnGateway: 500, 4500 .' required: false + type: str ports: description: - This field is used along with the backend_service field for internal load balancing. @@ -150,6 +159,7 @@ options: be forwarded to the backends configured with this forwarding rule. - You may specify a maximum of up to 5 ports. required: false + type: list subnetwork: description: - The subnetwork that the load balanced IP should belong to for this Forwarding @@ -162,6 +172,7 @@ options: to a gcp_compute_subnetwork task and then set this subnetwork field to "{{ name-of-resource }}"' required: false + type: dict target: description: - This field is only used for EXTERNAL load balancing. @@ -174,6 +185,7 @@ options: to a gcp_compute_target_pool task and then set this target field to "{{ name-of-resource }}"' required: false + type: dict version_added: 2.7 all_ports: description: @@ -191,6 +203,7 @@ options: is assumed to be PREMIUM.' - 'Some valid choices include: "PREMIUM", "STANDARD"' required: false + type: str version_added: 2.8 service_label: description: @@ -203,12 +216,14 @@ options: except the last character, which cannot be a dash. - This field is only used for INTERNAL load balancing. required: false + type: str version_added: 2.8 region: description: - A reference to the region where the regional forwarding rule resides. - This field is not applicable to global forwarding rules. required: true + type: str extends_documentation_fragment: gcp notes: - 'API Reference: U(https://cloud.google.com/compute/docs/reference/v1/forwardingRule)' diff --git a/lib/ansible/modules/cloud/google/gcp_compute_forwarding_rule_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_forwarding_rule_facts.py index bb5d4fc7462..15600bd57cf 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_forwarding_rule_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_forwarding_rule_facts.py @@ -50,6 +50,7 @@ options: - A reference to the region where the regional forwarding rule resides. - This field is not applicable to global forwarding rules. required: true + type: str extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_compute_global_address.py b/lib/ansible/modules/cloud/google/gcp_compute_global_address.py index c95a264a661..2f4cd859f8d 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_global_address.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_global_address.py @@ -52,11 +52,13 @@ options: description: - The static external IP address represented by this resource. required: false + type: str version_added: 2.8 description: description: - An optional description of this resource. required: false + type: str name: description: - Name of the resource. Provided by the client when the resource is created. The @@ -66,18 +68,21 @@ options: characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. required: true + type: str ip_version: description: - The IP Version that will be used by this address. Valid options are `IPV4` or `IPV6`. The default value is `IPV4`. - 'Some valid choices include: "IPV4", "IPV6"' required: false + type: str prefix_length: description: - The prefix length of the IP range. If not present, it means the address field is a single IP address. - This field is not applicable to addresses with addressType=EXTERNAL. required: false + type: int version_added: 2.9 address_type: description: @@ -87,6 +92,7 @@ options: - 'Some valid choices include: "EXTERNAL", "INTERNAL"' required: false default: EXTERNAL + type: str version_added: 2.8 purpose: description: @@ -94,6 +100,7 @@ options: - for peer networks This should only be set when using an Internal address. - 'Some valid choices include: "VPC_PEERING"' required: false + type: str version_added: 2.9 network: description: @@ -107,6 +114,7 @@ options: to a gcp_compute_network task and then set this network field to "{{ name-of-resource }}"' required: false + type: dict version_added: 2.9 extends_documentation_fragment: gcp notes: diff --git a/test/sanity/validate-modules/ignore.txt b/test/sanity/validate-modules/ignore.txt index 46f4966f477..86232056bdc 100644 --- a/test/sanity/validate-modules/ignore.txt +++ b/test/sanity/validate-modules/ignore.txt @@ -648,10 +648,8 @@ lib/ansible/modules/cloud/google/_gcp_backend_service.py E326 lib/ansible/modules/cloud/google/_gcp_backend_service.py E337 lib/ansible/modules/cloud/google/_gcp_backend_service.py E338 lib/ansible/modules/cloud/google/gcp_bigquery_dataset.py E337 -lib/ansible/modules/cloud/google/gcp_bigquery_table_facts.py E337 lib/ansible/modules/cloud/google/gcp_bigquery_table.py E337 lib/ansible/modules/cloud/google/gcp_cloudbuild_trigger.py E337 -lib/ansible/modules/cloud/google/gcp_cloudscheduler_job_facts.py E337 lib/ansible/modules/cloud/google/gcp_cloudscheduler_job.py E337 lib/ansible/modules/cloud/google/gcp_compute_address_facts.py E337 lib/ansible/modules/cloud/google/gcp_compute_address.py E337