mirror of
https://github.com/ansible-collections/google.cloud.git
synced 2025-04-09 04:10:27 -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 = '''
|
EXAMPLES = '''
|
||||||
- name: a backend service facts
|
- name: " a backend service facts"
|
||||||
gcp_compute_backend_service_facts:
|
gcp_compute_backend_service_facts:
|
||||||
filters:
|
filters:
|
||||||
- name = test_object
|
- name = test_object
|
||||||
project: test_project
|
project: test_project
|
||||||
auth_kind: serviceaccount
|
auth_kind: serviceaccount
|
||||||
service_account_file: "/tmp/auth.pem"
|
service_account_file: "/tmp/auth.pem"
|
||||||
|
state: facts
|
||||||
'''
|
'''
|
||||||
|
|
||||||
RETURN = '''
|
RETURN = '''
|
||||||
items:
|
resources:
|
||||||
description: List of items
|
description: List of resources
|
||||||
returned: always
|
returned: always
|
||||||
type: complex
|
type: complex
|
||||||
contains:
|
contains:
|
||||||
|
@ -84,7 +85,6 @@ items:
|
||||||
- Specifies the balancing mode for this backend.
|
- Specifies the balancing mode for this backend.
|
||||||
- For global HTTP(S) or TCP/SSL load balancing, the default is UTILIZATION.
|
- 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).
|
Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL).
|
||||||
- This cannot be used for internal load balancing.
|
|
||||||
returned: success
|
returned: success
|
||||||
type: str
|
type: str
|
||||||
capacityScaler:
|
capacityScaler:
|
||||||
|
@ -95,237 +95,111 @@ items:
|
||||||
configured capacity (depending on balancingMode). A setting of 0 means
|
configured capacity (depending on balancingMode). A setting of 0 means
|
||||||
the group is completely drained, offering 0% of its available Capacity.
|
the group is completely drained, offering 0% of its available Capacity.
|
||||||
Valid range is [0.0,1.0].
|
Valid range is [0.0,1.0].
|
||||||
- This cannot be used for internal load balancing.
|
|
||||||
returned: success
|
returned: success
|
||||||
type: str
|
type: str
|
||||||
description:
|
description:
|
||||||
description:
|
description:
|
||||||
- An optional description of this resource.
|
- An optional description of this resource.
|
||||||
- Provide this property when you create the resource.
|
returned: success
|
||||||
returned: success
|
type: str
|
||||||
type: str
|
enable_cdn:
|
||||||
group:
|
description:
|
||||||
description:
|
- If true, enable Cloud CDN for this BackendService.
|
||||||
- This instance group defines the list of instances that serve traffic.
|
- When the load balancing scheme is INTERNAL, this field is not used.
|
||||||
Member virtual machine instances from each instance group must live in
|
returned: success
|
||||||
the same zone as the instance group itself.
|
type: bool
|
||||||
- No two backends in a backend service are allowed to use same Instance
|
health_checks:
|
||||||
Group resource.
|
description:
|
||||||
- When the BackendService has load balancing scheme INTERNAL, the instance
|
- The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health
|
||||||
group must be in a zone within the same region as the BackendService.
|
checking this BackendService. Currently at most one health check can be specified,
|
||||||
returned: success
|
and a health check is required.
|
||||||
type: str
|
- For internal load balancing, a URL to a HealthCheck resource must be specified instead.
|
||||||
maxConnections:
|
returned: success
|
||||||
description:
|
type: list
|
||||||
- The max number of simultaneous connections for the group. Can be used
|
id:
|
||||||
with either CONNECTION or UTILIZATION balancing modes.
|
description:
|
||||||
- For CONNECTION mode, either maxConnections or maxConnectionsPerInstance
|
- The unique identifier for the resource.
|
||||||
must be set.
|
returned: success
|
||||||
- This cannot be used for internal load balancing.
|
type: int
|
||||||
returned: success
|
iap:
|
||||||
type: int
|
description:
|
||||||
maxConnectionsPerInstance:
|
- Settings for enabling Cloud Identity Aware Proxy.
|
||||||
description:
|
returned: success
|
||||||
- The max number of simultaneous connections that a single backend instance
|
type: complex
|
||||||
can handle. This is used to calculate the capacity of the group. Can be
|
contains:
|
||||||
used in either CONNECTION or UTILIZATION balancing modes.
|
enabled:
|
||||||
- For CONNECTION mode, either maxConnections or maxConnectionsPerInstance
|
description:
|
||||||
must be set.
|
- Enables IAP.
|
||||||
- This cannot be used for internal load balancing.
|
returned: success
|
||||||
returned: success
|
type: bool
|
||||||
type: int
|
oauth2_client_id:
|
||||||
maxRate:
|
description:
|
||||||
description:
|
- OAuth2 Client ID for IAP.
|
||||||
- The max requests per second (RPS) of the group.
|
returned: success
|
||||||
- Can be used with either RATE or UTILIZATION balancing modes, but required
|
type: str
|
||||||
if RATE mode. For RATE mode, either maxRate or maxRatePerInstance must
|
oauth2_client_secret:
|
||||||
be set.
|
description:
|
||||||
- This cannot be used for internal load balancing.
|
- OAuth2 Client Secret for IAP.
|
||||||
returned: success
|
returned: success
|
||||||
type: int
|
type: str
|
||||||
maxRatePerInstance:
|
oauth2_client_secret_sha256:
|
||||||
description:
|
description:
|
||||||
- The max requests per second (RPS) that a single backend instance can handle.
|
- OAuth2 Client Secret SHA-256 for IAP.
|
||||||
This is used to calculate the capacity of the group. Can be used in either
|
returned: success
|
||||||
balancing mode. For RATE mode, either maxRate or maxRatePerInstance must
|
type: str
|
||||||
be set.
|
load_balancing_scheme:
|
||||||
- This cannot be used for internal load balancing.
|
description:
|
||||||
returned: success
|
- Indicates whether the backend service will be used with internal or external load
|
||||||
type: str
|
balancing. A backend service created for one type of load balancing cannot be used
|
||||||
maxUtilization:
|
with the other.
|
||||||
description:
|
returned: success
|
||||||
- Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization
|
type: str
|
||||||
target for the group. The default is 0.8. Valid range is [0.0, 1.0].
|
name:
|
||||||
- This cannot be used for internal load balancing.
|
description:
|
||||||
returned: success
|
- Name of the resource. Provided by the client when the resource is created. The name
|
||||||
type: str
|
must be 1-63 characters long, and comply with RFC1035. Specifically, the name must
|
||||||
cdnPolicy:
|
be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`
|
||||||
description:
|
which means the first character must be a lowercase letter, and all following characters
|
||||||
- Cloud CDN configuration for this BackendService.
|
must be a dash, lowercase letter, or digit, except the last character, which cannot
|
||||||
returned: success
|
be a dash.
|
||||||
type: complex
|
returned: success
|
||||||
contains:
|
type: str
|
||||||
cacheKeyPolicy:
|
port_name:
|
||||||
description:
|
description:
|
||||||
- The CacheKeyPolicy for this CdnPolicy.
|
- Name of backend port. The same name should appear in the instance groups referenced
|
||||||
returned: success
|
by this service. Required when the load balancing scheme is EXTERNAL.
|
||||||
type: complex
|
- When the load balancing scheme is INTERNAL, this field is not used.
|
||||||
contains:
|
returned: success
|
||||||
includeHost:
|
type: str
|
||||||
description:
|
protocol:
|
||||||
- If true requests to different hosts will be cached separately.
|
description:
|
||||||
returned: success
|
- The protocol this BackendService uses to communicate with backends.
|
||||||
type: bool
|
- Possible values are HTTP, HTTPS, TCP, and SSL. The default is HTTP.
|
||||||
includeProtocol:
|
- For internal load balancing, the possible values are TCP and UDP, and the default
|
||||||
description:
|
is TCP.
|
||||||
- If true, http and https requests will be cached separately.
|
returned: success
|
||||||
returned: success
|
type: str
|
||||||
type: bool
|
region:
|
||||||
includeQueryString:
|
description:
|
||||||
description:
|
- The region where the regional backend service resides.
|
||||||
- If true, include query string parameters in the cache key according
|
- This field is not applicable to global backend services.
|
||||||
to query_string_whitelist and query_string_blacklist. If neither is
|
returned: success
|
||||||
set, the entire query string will be included.
|
type: str
|
||||||
- If false, the query string will be excluded from the cache key entirely.
|
session_affinity:
|
||||||
returned: success
|
description:
|
||||||
type: bool
|
- Type of session affinity to use. The default is NONE.
|
||||||
queryStringBlacklist:
|
- When the load balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or GENERATED_COOKIE.
|
||||||
description:
|
- When the load balancing scheme is INTERNAL, can be NONE, CLIENT_IP, CLIENT_IP_PROTO,
|
||||||
- Names of query string parameters to exclude in cache keys.
|
or CLIENT_IP_PORT_PROTO.
|
||||||
- All other parameters will be included. Either specify query_string_whitelist
|
- When the protocol is UDP, this field is not used.
|
||||||
or query_string_blacklist, not both.
|
returned: success
|
||||||
- "'&' and '=' will be percent encoded and not treated as delimiters."
|
type: str
|
||||||
returned: success
|
timeout_sec:
|
||||||
type: list
|
description:
|
||||||
queryStringWhitelist:
|
- How many seconds to wait for the backend before considering it a failed request.
|
||||||
description:
|
Default is 30 seconds. Valid range is [1, 86400].
|
||||||
- Names of query string parameters to include in cache keys.
|
returned: success
|
||||||
- All other parameters will be excluded. Either specify query_string_whitelist
|
type: int
|
||||||
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
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -350,7 +224,7 @@ def main():
|
||||||
items = items.get('items')
|
items = items.get('items')
|
||||||
else:
|
else:
|
||||||
items = []
|
items = []
|
||||||
return_value = {'items': items}
|
return_value = {'resources': items}
|
||||||
module.exit_json(**return_value)
|
module.exit_json(**return_value)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue