com.google.api.services.serviceconsumermanagement.v1.model.FieldPolicy 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.serviceconsumermanagement.v1.model;
/**
* Google API Policy Annotation This message defines a simple API policy annotation that can be used
* to annotate API request and response message fields with applicable policies. One field may have
* multiple applicable policies that must all be satisfied before a request can be processed. This
* policy annotation is used to generate the overall policy that will be used for automatic runtime
* policy enforcement and documentation generation.
*
* 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 Service Consumer Management 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 FieldPolicy extends com.google.api.client.json.GenericJson {
/**
* Specifies the required permission(s) for the resource referred to by the field. It requires the
* field contains a valid resource reference, and the request must pass the permission checks to
* proceed. For example, "resourcemanager.projects.get".
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String resourcePermission;
/**
* Specifies the resource type for the resource referred to by the field.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String resourceType;
/**
* Selects one or more request or response message fields to apply this `FieldPolicy`. When a
* `FieldPolicy` is used in proto annotation, the selector must be left as empty. The service
* config generator will automatically fill the correct value. When a `FieldPolicy` is used in
* service config, the selector must be a comma-separated string with valid request or response
* field paths, such as "foo.bar" or "foo.bar,foo.baz".
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String selector;
/**
* Specifies the required permission(s) for the resource referred to by the field. It requires the
* field contains a valid resource reference, and the request must pass the permission checks to
* proceed. For example, "resourcemanager.projects.get".
* @return value or {@code null} for none
*/
public java.lang.String getResourcePermission() {
return resourcePermission;
}
/**
* Specifies the required permission(s) for the resource referred to by the field. It requires the
* field contains a valid resource reference, and the request must pass the permission checks to
* proceed. For example, "resourcemanager.projects.get".
* @param resourcePermission resourcePermission or {@code null} for none
*/
public FieldPolicy setResourcePermission(java.lang.String resourcePermission) {
this.resourcePermission = resourcePermission;
return this;
}
/**
* Specifies the resource type for the resource referred to by the field.
* @return value or {@code null} for none
*/
public java.lang.String getResourceType() {
return resourceType;
}
/**
* Specifies the resource type for the resource referred to by the field.
* @param resourceType resourceType or {@code null} for none
*/
public FieldPolicy setResourceType(java.lang.String resourceType) {
this.resourceType = resourceType;
return this;
}
/**
* Selects one or more request or response message fields to apply this `FieldPolicy`. When a
* `FieldPolicy` is used in proto annotation, the selector must be left as empty. The service
* config generator will automatically fill the correct value. When a `FieldPolicy` is used in
* service config, the selector must be a comma-separated string with valid request or response
* field paths, such as "foo.bar" or "foo.bar,foo.baz".
* @return value or {@code null} for none
*/
public java.lang.String getSelector() {
return selector;
}
/**
* Selects one or more request or response message fields to apply this `FieldPolicy`. When a
* `FieldPolicy` is used in proto annotation, the selector must be left as empty. The service
* config generator will automatically fill the correct value. When a `FieldPolicy` is used in
* service config, the selector must be a comma-separated string with valid request or response
* field paths, such as "foo.bar" or "foo.bar,foo.baz".
* @param selector selector or {@code null} for none
*/
public FieldPolicy setSelector(java.lang.String selector) {
this.selector = selector;
return this;
}
@Override
public FieldPolicy set(String fieldName, Object value) {
return (FieldPolicy) super.set(fieldName, value);
}
@Override
public FieldPolicy clone() {
return (FieldPolicy) super.clone();
}
}