All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.cloudscheduler.v1.model.HttpTarget Maven / Gradle / Ivy

The newest version!
/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.cloudscheduler.v1.model;

/**
 * Http target. The job will be pushed to the job handler by means of an HTTP request via an
 * http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP
 * response code in the range [200 - 299]. A failure to receive a response constitutes a failed
 * execution. For a redirected request, the response returned by the redirected request is
 * considered.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Cloud Scheduler API. For a detailed explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class HttpTarget extends com.google.api.client.json.GenericJson { /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String body; /** * HTTP request headers. This map contains the header field names and values. The user can specify * HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, * but a header value can contain commas. The following headers represent a subset of the headers * that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A * partial list of headers that are ignored or replaced is below: * Host: This will be computed by * Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud * Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: * Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: * This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job * name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron * format, this header will contain the job schedule as an offset of UTC parsed according to * RFC3339. If the job has a body and the following headers are not set by the user, Cloud * Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet- * stream"`. You can override this default by explicitly setting `Content-Type` to a particular * media type when creating the job. For example, you can set `Content-Type` to * `"application/json"`. The total size of headers must be less than 80KB. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.Map headers; /** * Which HTTP method to use for the request. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String httpMethod; /** * If specified, an [OAuth token](https://developers.google.com/identity/protocols/OAuth2) will be * generated and attached as an `Authorization` header in the HTTP request. This type of * authorization should generally only be used when calling Google APIs hosted on * *.googleapis.com. * The value may be {@code null}. */ @com.google.api.client.util.Key private OAuthToken oauthToken; /** * If specified, an [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect) token * will be generated and attached as an `Authorization` header in the HTTP request. This type of * authorization can be used for many scenarios, including calling Cloud Run, or endpoints where * you intend to validate the token yourself. * The value may be {@code null}. */ @com.google.api.client.util.Key private OidcToken oidcToken; /** * Required. The full URI path that the request will be sent to. This string must begin with * either "http://" or "https://". Some examples of valid values for uri are: `http://acme.com` * and `https://acme.com/sales:8080`. Cloud Scheduler will encode some characters for safety and * compatibility. The maximum allowed URL length is 2083 characters after encoding. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String uri; /** * 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. * @see #decodeBody() * @return value or {@code null} for none */ public java.lang.String getBody() { return 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. * @see #getBody() * @return Base64 decoded value or {@code null} for none * * @since 1.14 */ public byte[] decodeBody() { return com.google.api.client.util.Base64.decodeBase64(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. * @see #encodeBody() * @param body body or {@code null} for none */ public HttpTarget setBody(java.lang.String body) { this.body = body; return this; } /** * 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. * @see #setBody() * *

* The value is encoded Base64 or {@code null} for none. *

* * @since 1.14 */ public HttpTarget encodeBody(byte[] body) { this.body = com.google.api.client.util.Base64.encodeBase64URLSafeString(body); return this; } /** * HTTP request headers. This map contains the header field names and values. The user can specify * HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, * but a header value can contain commas. The following headers represent a subset of the headers * that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A * partial list of headers that are ignored or replaced is below: * Host: This will be computed by * Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud * Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: * Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: * This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job * name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron * format, this header will contain the job schedule as an offset of UTC parsed according to * RFC3339. If the job has a body and the following headers are not set by the user, Cloud * Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet- * stream"`. You can override this default by explicitly setting `Content-Type` to a particular * media type when creating the job. For example, you can set `Content-Type` to * `"application/json"`. The total size of headers must be less than 80KB. * @return value or {@code null} for none */ public java.util.Map getHeaders() { return headers; } /** * HTTP request headers. This map contains the header field names and values. The user can specify * HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, * but a header value can contain commas. The following headers represent a subset of the headers * that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A * partial list of headers that are ignored or replaced is below: * Host: This will be computed by * Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud * Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: * Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: * This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job * name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron * format, this header will contain the job schedule as an offset of UTC parsed according to * RFC3339. If the job has a body and the following headers are not set by the user, Cloud * Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet- * stream"`. You can override this default by explicitly setting `Content-Type` to a particular * media type when creating the job. For example, you can set `Content-Type` to * `"application/json"`. The total size of headers must be less than 80KB. * @param headers headers or {@code null} for none */ public HttpTarget setHeaders(java.util.Map headers) { this.headers = headers; return this; } /** * Which HTTP method to use for the request. * @return value or {@code null} for none */ public java.lang.String getHttpMethod() { return httpMethod; } /** * Which HTTP method to use for the request. * @param httpMethod httpMethod or {@code null} for none */ public HttpTarget setHttpMethod(java.lang.String httpMethod) { this.httpMethod = httpMethod; return this; } /** * If specified, an [OAuth token](https://developers.google.com/identity/protocols/OAuth2) will be * generated and attached as an `Authorization` header in the HTTP request. This type of * authorization should generally only be used when calling Google APIs hosted on * *.googleapis.com. * @return value or {@code null} for none */ public OAuthToken getOauthToken() { return oauthToken; } /** * If specified, an [OAuth token](https://developers.google.com/identity/protocols/OAuth2) will be * generated and attached as an `Authorization` header in the HTTP request. This type of * authorization should generally only be used when calling Google APIs hosted on * *.googleapis.com. * @param oauthToken oauthToken or {@code null} for none */ public HttpTarget setOauthToken(OAuthToken oauthToken) { this.oauthToken = oauthToken; return this; } /** * If specified, an [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect) token * will be generated and attached as an `Authorization` header in the HTTP request. This type of * authorization can be used for many scenarios, including calling Cloud Run, or endpoints where * you intend to validate the token yourself. * @return value or {@code null} for none */ public OidcToken getOidcToken() { return oidcToken; } /** * If specified, an [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect) token * will be generated and attached as an `Authorization` header in the HTTP request. This type of * authorization can be used for many scenarios, including calling Cloud Run, or endpoints where * you intend to validate the token yourself. * @param oidcToken oidcToken or {@code null} for none */ public HttpTarget setOidcToken(OidcToken oidcToken) { this.oidcToken = oidcToken; return this; } /** * Required. The full URI path that the request will be sent to. This string must begin with * either "http://" or "https://". Some examples of valid values for uri are: `http://acme.com` * and `https://acme.com/sales:8080`. Cloud Scheduler will encode some characters for safety and * compatibility. The maximum allowed URL length is 2083 characters after encoding. * @return value or {@code null} for none */ public java.lang.String getUri() { return uri; } /** * Required. The full URI path that the request will be sent to. This string must begin with * either "http://" or "https://". Some examples of valid values for uri are: `http://acme.com` * and `https://acme.com/sales:8080`. Cloud Scheduler will encode some characters for safety and * compatibility. The maximum allowed URL length is 2083 characters after encoding. * @param uri uri or {@code null} for none */ public HttpTarget setUri(java.lang.String uri) { this.uri = uri; return this; } @Override public HttpTarget set(String fieldName, Object value) { return (HttpTarget) super.set(fieldName, value); } @Override public HttpTarget clone() { return (HttpTarget) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy