com.google.api.services.accesscontextmanager.v1.model.ServicePerimeterConfig 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.accesscontextmanager.v1.model;
/**
* `ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service
* Perimeter configuration.
*
* 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 Access Context Manager 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 ServicePerimeterConfig extends com.google.api.client.json.GenericJson {
/**
* A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be
* accessed from the internet. `AccessLevels` listed must be in the same policy as this
* `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no
* `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google
* Cloud calls with request origins within the perimeter. Example:
* `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`. For Service Perimeter Bridge, must be
* empty.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List accessLevels;
/**
* List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies,
* each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be
* empty for a perimeter bridge.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List egressPolicies;
static {
// hack to force ProGuard to consider EgressPolicy used, since otherwise it would be stripped out
// see https://github.com/google/google-api-java-client/issues/543
com.google.api.client.util.Data.nullOf(EgressPolicy.class);
}
/**
* List of IngressPolicies to apply to the perimeter. A perimeter may have multiple
* IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy
* grants it. Must be empty for a perimeter bridge.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List ingressPolicies;
static {
// hack to force ProGuard to consider IngressPolicy used, since otherwise it would be stripped out
// see https://github.com/google/google-api-java-client/issues/543
com.google.api.client.util.Data.nullOf(IngressPolicy.class);
}
/**
* A list of Google Cloud resources that are inside of the service perimeter. Currently only
* projects and VPCs are allowed. Project format: `projects/{project_number}` VPC network format:
* `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List resources;
/**
* Google Cloud services that are subject to the Service Perimeter restrictions. For example, if
* `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must
* meet the perimeter's access restrictions.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List restrictedServices;
/**
* Configuration for APIs allowed within Perimeter.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private VpcAccessibleServices vpcAccessibleServices;
/**
* A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be
* accessed from the internet. `AccessLevels` listed must be in the same policy as this
* `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no
* `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google
* Cloud calls with request origins within the perimeter. Example:
* `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`. For Service Perimeter Bridge, must be
* empty.
* @return value or {@code null} for none
*/
public java.util.List getAccessLevels() {
return accessLevels;
}
/**
* A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be
* accessed from the internet. `AccessLevels` listed must be in the same policy as this
* `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no
* `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google
* Cloud calls with request origins within the perimeter. Example:
* `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`. For Service Perimeter Bridge, must be
* empty.
* @param accessLevels accessLevels or {@code null} for none
*/
public ServicePerimeterConfig setAccessLevels(java.util.List accessLevels) {
this.accessLevels = accessLevels;
return this;
}
/**
* List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies,
* each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be
* empty for a perimeter bridge.
* @return value or {@code null} for none
*/
public java.util.List getEgressPolicies() {
return egressPolicies;
}
/**
* List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies,
* each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be
* empty for a perimeter bridge.
* @param egressPolicies egressPolicies or {@code null} for none
*/
public ServicePerimeterConfig setEgressPolicies(java.util.List egressPolicies) {
this.egressPolicies = egressPolicies;
return this;
}
/**
* List of IngressPolicies to apply to the perimeter. A perimeter may have multiple
* IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy
* grants it. Must be empty for a perimeter bridge.
* @return value or {@code null} for none
*/
public java.util.List getIngressPolicies() {
return ingressPolicies;
}
/**
* List of IngressPolicies to apply to the perimeter. A perimeter may have multiple
* IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy
* grants it. Must be empty for a perimeter bridge.
* @param ingressPolicies ingressPolicies or {@code null} for none
*/
public ServicePerimeterConfig setIngressPolicies(java.util.List ingressPolicies) {
this.ingressPolicies = ingressPolicies;
return this;
}
/**
* A list of Google Cloud resources that are inside of the service perimeter. Currently only
* projects and VPCs are allowed. Project format: `projects/{project_number}` VPC network format:
* `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`.
* @return value or {@code null} for none
*/
public java.util.List getResources() {
return resources;
}
/**
* A list of Google Cloud resources that are inside of the service perimeter. Currently only
* projects and VPCs are allowed. Project format: `projects/{project_number}` VPC network format:
* `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`.
* @param resources resources or {@code null} for none
*/
public ServicePerimeterConfig setResources(java.util.List resources) {
this.resources = resources;
return this;
}
/**
* Google Cloud services that are subject to the Service Perimeter restrictions. For example, if
* `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must
* meet the perimeter's access restrictions.
* @return value or {@code null} for none
*/
public java.util.List getRestrictedServices() {
return restrictedServices;
}
/**
* Google Cloud services that are subject to the Service Perimeter restrictions. For example, if
* `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must
* meet the perimeter's access restrictions.
* @param restrictedServices restrictedServices or {@code null} for none
*/
public ServicePerimeterConfig setRestrictedServices(java.util.List restrictedServices) {
this.restrictedServices = restrictedServices;
return this;
}
/**
* Configuration for APIs allowed within Perimeter.
* @return value or {@code null} for none
*/
public VpcAccessibleServices getVpcAccessibleServices() {
return vpcAccessibleServices;
}
/**
* Configuration for APIs allowed within Perimeter.
* @param vpcAccessibleServices vpcAccessibleServices or {@code null} for none
*/
public ServicePerimeterConfig setVpcAccessibleServices(VpcAccessibleServices vpcAccessibleServices) {
this.vpcAccessibleServices = vpcAccessibleServices;
return this;
}
@Override
public ServicePerimeterConfig set(String fieldName, Object value) {
return (ServicePerimeterConfig) super.set(fieldName, value);
}
@Override
public ServicePerimeterConfig clone() {
return (ServicePerimeterConfig) super.clone();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy