com.google.api.services.run.v1.model.Service Maven / Gradle / Ivy
/*
* 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.run.v1.model;
/**
* Service acts as a top-level container that manages a set of Routes and Configurations which
* implement a network service. Service exists to provide a singular abstraction which can be access
* controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout
* policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes
* and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service's
* controller will track the statuses of its owned Configuration and Route, reflecting their
* statuses and conditions as its own.
*
* 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 Run Admin 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 Service extends com.google.api.client.json.GenericJson {
/**
* The API version for this call. It must be "serving.knative.dev/v1".
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String apiVersion;
/**
* The kind of resource. It must be "Service".
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String kind;
/**
* Metadata associated with this Service, including name, namespace, labels, and annotations. In
* Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted,
* and the accepted annotations will be different depending on the resource type. The following
* Cloud Run-specific annotations are accepted in Service.metadata.annotations. *
* `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-
* authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` *
* `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` *
* `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` *
* `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress
* settings documentation](/run/docs/securing/ingress) for details on configuring ingress
* settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently
* active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from
* `run.googleapis.com/ingress` while the system is processing a change to
* `run.googleapis.com/ingress` or if the system failed to process a change to
* `run.googleapis.com/ingress`. When the system has processed all changes successfully
* `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ObjectMeta metadata;
/**
* Holds the desired state of the Service (from the client).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ServiceSpec spec;
/**
* Communicates the system-controlled state of the Service.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private ServiceStatus status;
/**
* The API version for this call. It must be "serving.knative.dev/v1".
* @return value or {@code null} for none
*/
public java.lang.String getApiVersion() {
return apiVersion;
}
/**
* The API version for this call. It must be "serving.knative.dev/v1".
* @param apiVersion apiVersion or {@code null} for none
*/
public Service setApiVersion(java.lang.String apiVersion) {
this.apiVersion = apiVersion;
return this;
}
/**
* The kind of resource. It must be "Service".
* @return value or {@code null} for none
*/
public java.lang.String getKind() {
return kind;
}
/**
* The kind of resource. It must be "Service".
* @param kind kind or {@code null} for none
*/
public Service setKind(java.lang.String kind) {
this.kind = kind;
return this;
}
/**
* Metadata associated with this Service, including name, namespace, labels, and annotations. In
* Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted,
* and the accepted annotations will be different depending on the resource type. The following
* Cloud Run-specific annotations are accepted in Service.metadata.annotations. *
* `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-
* authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` *
* `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` *
* `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` *
* `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress
* settings documentation](/run/docs/securing/ingress) for details on configuring ingress
* settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently
* active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from
* `run.googleapis.com/ingress` while the system is processing a change to
* `run.googleapis.com/ingress` or if the system failed to process a change to
* `run.googleapis.com/ingress`. When the system has processed all changes successfully
* `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
* @return value or {@code null} for none
*/
public ObjectMeta getMetadata() {
return metadata;
}
/**
* Metadata associated with this Service, including name, namespace, labels, and annotations. In
* Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted,
* and the accepted annotations will be different depending on the resource type. The following
* Cloud Run-specific annotations are accepted in Service.metadata.annotations. *
* `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-
* authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` *
* `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` *
* `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` *
* `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress
* settings documentation](/run/docs/securing/ingress) for details on configuring ingress
* settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently
* active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from
* `run.googleapis.com/ingress` while the system is processing a change to
* `run.googleapis.com/ingress` or if the system failed to process a change to
* `run.googleapis.com/ingress`. When the system has processed all changes successfully
* `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
* @param metadata metadata or {@code null} for none
*/
public Service setMetadata(ObjectMeta metadata) {
this.metadata = metadata;
return this;
}
/**
* Holds the desired state of the Service (from the client).
* @return value or {@code null} for none
*/
public ServiceSpec getSpec() {
return spec;
}
/**
* Holds the desired state of the Service (from the client).
* @param spec spec or {@code null} for none
*/
public Service setSpec(ServiceSpec spec) {
this.spec = spec;
return this;
}
/**
* Communicates the system-controlled state of the Service.
* @return value or {@code null} for none
*/
public ServiceStatus getStatus() {
return status;
}
/**
* Communicates the system-controlled state of the Service.
* @param status status or {@code null} for none
*/
public Service setStatus(ServiceStatus status) {
this.status = status;
return this;
}
@Override
public Service set(String fieldName, Object value) {
return (Service) super.set(fieldName, value);
}
@Override
public Service clone() {
return (Service) super.clone();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy