mirror of
https://github.com/ansible-collections/google.cloud.git
synced 2025-04-06 10:50:28 -07:00
BackendService LoadBalancingScheme + IAP support
This commit is contained in:
parent
01734b6279
commit
073ca550e5
1 changed files with 112 additions and 238 deletions
|
@ -49,18 +49,19 @@ extends_documentation_fragment: gcp
|
|||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
- name: a backend service facts
|
||||
- name: " a backend service facts"
|
||||
gcp_compute_backend_service_facts:
|
||||
filters:
|
||||
- name = test_object
|
||||
project: test_project
|
||||
auth_kind: serviceaccount
|
||||
service_account_file: "/tmp/auth.pem"
|
||||
filters:
|
||||
- name = test_object
|
||||
project: test_project
|
||||
auth_kind: serviceaccount
|
||||
service_account_file: "/tmp/auth.pem"
|
||||
state: facts
|
||||
'''
|
||||
|
||||
RETURN = '''
|
||||
items:
|
||||
description: List of items
|
||||
resources:
|
||||
description: List of resources
|
||||
returned: always
|
||||
type: complex
|
||||
contains:
|
||||
|
@ -84,7 +85,6 @@ items:
|
|||
- Specifies the balancing mode for this backend.
|
||||
- For global HTTP(S) or TCP/SSL load balancing, the default is UTILIZATION.
|
||||
Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL).
|
||||
- This cannot be used for internal load balancing.
|
||||
returned: success
|
||||
type: str
|
||||
capacityScaler:
|
||||
|
@ -95,237 +95,111 @@ items:
|
|||
configured capacity (depending on balancingMode). A setting of 0 means
|
||||
the group is completely drained, offering 0% of its available Capacity.
|
||||
Valid range is [0.0,1.0].
|
||||
- This cannot be used for internal load balancing.
|
||||
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:
|
||||
- This instance group 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.
|
||||
- When the BackendService has load balancing scheme INTERNAL, the instance
|
||||
group must be in a zone within the same region as the BackendService.
|
||||
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.
|
||||
- This cannot be used for internal load balancing.
|
||||
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.
|
||||
- This cannot be used for internal load balancing.
|
||||
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.
|
||||
- This cannot be used for internal load balancing.
|
||||
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.
|
||||
- This cannot be used for internal load balancing.
|
||||
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].
|
||||
- This cannot be used for internal load balancing.
|
||||
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
|
||||
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
|
||||
description:
|
||||
description:
|
||||
- An optional description of this resource.
|
||||
returned: success
|
||||
type: str
|
||||
enableCDN:
|
||||
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
|
||||
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.
|
||||
- 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
|
||||
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.
|
||||
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.
|
||||
- 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
|
||||
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 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
|
||||
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
|
||||
'''
|
||||
|
||||
################################################################################
|
||||
|
@ -350,7 +224,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'items': items}
|
||||
return_value = {'resources': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue