From a828ad5b56060ab5a00f39701fa0bce102e8a6eb Mon Sep 17 00:00:00 2001 From: The Magician Date: Tue, 28 Aug 2018 15:25:00 -0700 Subject: [PATCH] BackendService LoadBalancingScheme + IAP support --- .../gcp_compute_backend_service_facts.py | 340 ++++++------------ 1 file changed, 102 insertions(+), 238 deletions(-) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_backend_service_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_backend_service_facts.py index 7c6e693582b6d5..d8f7085ce90f77 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_backend_service_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_backend_service_facts.py @@ -98,244 +98,108 @@ returned: success type: str description: - description: - - An optional description of this resource. - - Provide this property when you create the resource. - returned: success - type: str - group: - description: - - The fully-qualified URL of an Instance Group or Network Endpoint Group - resource. In case of instance group this defines the list of instances - that serve traffic. Member virtual machine instances from each instance - group must live in the same zone as the instance group itself. No two - backends in a backend service are allowed to use same Instance Group resource. - - For Network Endpoint Groups this defines list of endpoints. All endpoints - of Network Endpoint Group must be hosted on instances located in the same - zone as the Network Endpoint Group. - - Backend service can not contain mix of Instance Group and Network Endpoint - Group backends. - - Note that you must specify an Instance Group or Network Endpoint Group - resource using the fully-qualified URL, rather than a partial URL. - returned: success - type: str - maxConnections: - description: - - The max number of simultaneous connections for the group. Can be used - with either CONNECTION or UTILIZATION balancing modes. - - For CONNECTION mode, either maxConnections or maxConnectionsPerInstance - must be set. - returned: success - type: int - maxConnectionsPerInstance: - description: - - The max number of simultaneous connections that a single backend instance - can handle. This is used to calculate the capacity of the group. Can be - used in either CONNECTION or UTILIZATION balancing modes. - - For CONNECTION mode, either maxConnections or maxConnectionsPerInstance - must be set. - returned: success - type: int - maxRate: - description: - - The max requests per second (RPS) of the group. - - Can be used with either RATE or UTILIZATION balancing modes, but required - if RATE mode. For RATE mode, either maxRate or maxRatePerInstance must - be set. - returned: success - type: int - maxRatePerInstance: - description: - - The max requests per second (RPS) that a single backend instance can handle. - This is used to calculate the capacity of the group. Can be used in either - balancing mode. For RATE mode, either maxRate or maxRatePerInstance must - be set. - returned: success - type: str - maxUtilization: - description: - - Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization - target for the group. The default is 0.8. Valid range is [0.0, 1.0]. - returned: success - type: str - cdnPolicy: - description: - - Cloud CDN configuration for this BackendService. - returned: success - type: complex - contains: - cacheKeyPolicy: - description: - - The CacheKeyPolicy for this CdnPolicy. - returned: success - type: complex - contains: - includeHost: - description: - - If true requests to different hosts will be cached separately. - returned: success - type: bool - includeProtocol: - description: - - If true, http and https requests will be cached separately. - returned: success - type: bool - includeQueryString: - description: - - If true, include query string parameters in the cache key according - to query_string_whitelist and query_string_blacklist. If neither is - set, the entire query string will be included. - - If false, the query string will be excluded from the cache key entirely. - returned: success - type: bool - queryStringBlacklist: - description: - - Names of query string parameters to exclude in cache keys. - - All other parameters will be included. Either specify query_string_whitelist - or query_string_blacklist, not both. - - "'&' and '=' will be percent encoded and not treated as delimiters." - returned: success - type: list - queryStringWhitelist: - description: - - Names of query string parameters to include in cache keys. - - All other parameters will be excluded. Either specify query_string_whitelist - or query_string_blacklist, not both. - - "'&' and '=' will be percent encoded and not treated as delimiters." - returned: success - type: list - signedUrlCacheMaxAgeSec: - description: - - Maximum number of seconds the response to a signed URL request will be - considered fresh, defaults to 1hr (3600s). After this time period, the - response will be revalidated before being served. - - 'When serving responses to signed URL requests, Cloud CDN will internally - behave as though all responses from this backend had a "Cache-Control: - public, max-age=[TTL]" header, regardless of any existing Cache-Control - header. The actual headers served in responses will not be altered.' - returned: success - type: int - connectionDraining: - description: - - Settings for connection draining . - returned: success - type: complex - contains: - drainingTimeoutSec: - description: - - Time for which instance will be drained (not accept new connections, but - still work to finish started). - returned: success - type: int - creationTimestamp: - description: - - Creation timestamp in RFC3339 text format. - returned: success - type: str - fingerprint: - description: - - Fingerprint of this resource. A hash of the contents stored in this object. - This field is used in optimistic locking. - returned: success - type: str - description: - description: - - An optional description of this resource. - returned: success - type: str - enableCDN: - description: - - If true, enable Cloud CDN for this BackendService. - returned: success - type: bool - healthChecks: - description: - - The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health - checking this BackendService. Currently at most one health check can be specified, - and a health check is required. - returned: success - type: list - id: - description: - - The unique identifier for the resource. - returned: success - type: int - iap: - description: - - Settings for enabling Cloud Identity Aware Proxy. - returned: success - type: complex - contains: - enabled: - description: - - Enables IAP. - returned: success - type: bool - oauth2ClientId: - description: - - OAuth2 Client ID for IAP . - returned: success - type: str - oauth2ClientSecret: - description: - - OAuth2 Client Secret for IAP . - returned: success - type: str - oauth2ClientSecretSha256: - description: - - OAuth2 Client Secret SHA-256 for IAP . - returned: success - type: str - loadBalancingScheme: - description: - - Indicates whether the backend service will be used with internal or external - load balancing. A backend service created for one type of load balancing cannot - be used with the other. Must be `EXTERNAL` for a global backend service. Defaults - to `EXTERNAL`. - returned: success - type: str - 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 - portName: - 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. - returned: success - type: str - protocol: - description: - - The protocol this BackendService uses to communicate with backends. - - 'Possible values are HTTP, HTTPS, HTTP2, TCP, and SSL. The default is HTTP. - **NOTE**: HTTP2 is only valid for beta HTTP/2 load balancer types and may - result in errors if used with the GA API.' - returned: success - type: str - securityPolicy: - description: - - The security policy associated with this backend service. - returned: success - type: str - sessionAffinity: - description: - - Type of session affinity to use. The default is NONE. - - When the load balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or GENERATED_COOKIE. - - When the protocol is UDP, this field is not used. - returned: success - type: str - timeoutSec: - description: - - How many seconds to wait for the backend before considering it a failed request. - Default is 30 seconds. Valid range is [1, 86400]. - returned: success - type: int + description: + - An optional description of this resource. + returned: success + type: str + enable_cdn: + description: + - If true, enable Cloud CDN for this BackendService. + - When the load balancing scheme is INTERNAL, this field is not used. + returned: success + type: bool + health_checks: + description: + - The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health + checking this BackendService. Currently at most one health check can be specified, + and a health check is required. + - For internal load balancing, a URL to a HealthCheck resource must be specified instead. + returned: success + type: list + id: + description: + - The unique identifier for the resource. + returned: success + type: int + iap: + description: + - Settings for enabling Cloud Identity Aware Proxy. + returned: success + type: complex + contains: + enabled: + description: + - Enables IAP. + returned: success + type: bool + oauth2_client_id: + description: + - OAuth2 Client ID for IAP. + returned: success + type: str + oauth2_client_secret: + description: + - OAuth2 Client Secret for IAP. + returned: success + type: str + oauth2_client_secret_sha256: + description: + - OAuth2 Client Secret SHA-256 for IAP. + returned: success + type: str + load_balancing_scheme: + description: + - Indicates whether the backend service will be used with internal or external load + balancing. A backend service created for one type of load balancing cannot be used + with the other. + returned: success + type: str + 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 + 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. + - When the load balancing scheme is INTERNAL, this field is not used. + returned: success + type: str + protocol: + description: + - The protocol this BackendService uses to communicate with backends. + - Possible values are HTTP, HTTPS, TCP, and SSL. The default is HTTP. + - For internal load balancing, the possible values are TCP and UDP, and the default + is TCP. + returned: success + type: str + region: + description: + - The region where the regional backend service resides. + - This field is not applicable to global backend services. + returned: success + type: str + session_affinity: + description: + - Type of session affinity to use. The default is NONE. + - When the load balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or GENERATED_COOKIE. + - When the load balancing scheme is INTERNAL, can be NONE, CLIENT_IP, CLIENT_IP_PROTO, + or CLIENT_IP_PORT_PROTO. + - When the protocol is UDP, this field is not used. + returned: success + 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]. + returned: success + type: int ''' ################################################################################