Syntax
A google_cloud_scheduler_job
is used to test a Google Job resource
Examples
describe google_cloud_scheduler_job(project: 'chef-gcp-inspec', region: us-central1, name: 'job-name') do
it { should exist }
its('description') { should cmp 'A description' }
its('schedule') { should cmp '*/8 * * * *' }
its('time_zone') { should cmp 'America/New_York' }
its('http_target.http_method') { should cmp 'POST' }
its('http_target.uri') { should cmp 'https://example.com/ping' }
end
Properties
Properties that can be accessed from the google_cloud_scheduler_job
resource:
name
: The name of the job.description
: A human-readable description for the job. This string must not contain more than 500 characters.schedule
: Describes the schedule on which the job will be executed.time_zone
: 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.attempt_deadline
: The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a DEADLINE_EXCEEDED failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours. A duration in seconds with up to nine fractional digits, terminated by ‘s’. Example: “3.5s”retry_config
: 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 settingsretry_count
: The number of attempts that the system will make to run a job using the exponential backoff procedure described by maxDoublings. Values greater than 5 and negative values are not allowed.max_retry_duration
: The time limit for retrying a failed job, measured from time when an execution was first attempted. If specified with retryCount, the job will be retried until both limits are reached. A duration in seconds with up to nine fractional digits, terminated by ‘s’.min_backoff_duration
: 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’.max_backoff_duration
: 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’.max_doublings
: The time between retries will double maxDoublings times. A job’s retry interval starts at minBackoffDuration, then doubles maxDoublings times, then increases linearly, and finally retries retries at intervals of maxBackoffDuration up to retryCount times.
pubsub_target
: Pub/Sub target If the job providers a Pub/Sub target the cron will publish a message to the provided topictopic_name
: The full resource name for the Cloud Pub/Sub topic to which messages will be published when a job is delivered. ~>NOTE: The topic name must be in the same format as required by PubSub’s PublishRequest.name, e.g.projects/my-project/topics/my-topic
.data
: The message payload for PubsubMessage. Pubsub message must contain either non-empty data, or at least one attribute.attributes
: Attributes for PubsubMessage. Pubsub message must contain either non-empty data, or at least one attribute.
app_engine_http_target
: App Engine HTTP target. If the job providers a App Engine HTTP target the cron will send a request to the service instancehttp_method
: Which HTTP method to use for the request.app_engine_routing
: App Engine Routing setting for the job.service
: App service. By default, the job is sent to the service which is the default service when the job is attempted.version
: App version. By default, the job is sent to the version which is the default version when the job is attempted.instance
: App instance. By default, the job is sent to an instance which is available when the job is attempted.
relative_uri
: The relative URI. The relative URL must begin with “/” and must be a valid HTTP relative URL. It can contain a path, query string arguments, and # fragments. If the relative URL is empty, then the root path “/” will be used. No spaces are allowed, and the maximum length allowed is 2083 charactersbody
: 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.headers
: HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created.
http_target
: HTTP target. If the job providers a http_target the cron will send a request to the targeted urluri
: The full URI path that the request will be sent to.http_method
: Which HTTP method to use for the request.body
: 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.headers
: This map contains the header field names and values. Repeated headers are not supported, but a header value can contain commas.oauth_token
: Contains information needed for generating an OAuth token. This type of authorization should be used when sending requests to a GCP endpoint.service_account_email
: Service account email to be used for generating OAuth token. The service account must be within the same project as the job.scope
: OAuth scope to be used for generating OAuth access token. If not specified, “https://www.googleapis.com/auth/cloud-platform” will be used.
oidc_token
: Contains information needed for generating an OpenID Connect token. This type of authorization should be used when sending requests to third party endpoints or Cloud Run.service_account_email
: Service account email to be used for generating OAuth token. The service account must be within the same project as the job.audience
: Audience to be used when generating OIDC token. If not specified, the URI specified in target will be used.
region
: Region where the scheduler job resides