/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
*/
package com.microsoft.azure.management.cdn.implementation;
import java.util.Map;
import java.util.List;
import com.microsoft.azure.management.cdn.QueryStringCachingBehavior;
import com.microsoft.azure.management.cdn.GeoFilter;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.microsoft.rest.serializer.JsonFlatten;
/**
* Properties required to create a new endpoint.
*/
@JsonFlatten
public class EndpointUpdateParametersInner {
/**
* Endpoint tags.
*/
@JsonProperty(value = "tags")
private Map<String, String> tags;
/**
* The host header CDN sends along with content requests to origin. The
* default value is the host name of the origin.
*/
@JsonProperty(value = "properties.originHostHeader")
private String originHostHeader;
/**
* The path used when CDN sends request to origin.
*/
@JsonProperty(value = "properties.originPath")
private String originPath;
/**
* List of content types on which compression applies. The value should be
* a valid MIME type.
*/
@JsonProperty(value = "properties.contentTypesToCompress")
private List<String> contentTypesToCompress;
/**
* Indicates whether content compression is enabled on CDN. Default value
* is false. If compression is enabled, content will be served as
* compressed if user requests for a compressed version. Content won't be
* compressed on CDN when requested content is smaller than 1 byte or
* larger than 1 MB.
*/
@JsonProperty(value = "properties.isCompressionEnabled")
private Boolean isCompressionEnabled;
/**
* Indicates whether HTTP traffic is allowed on the endpoint. Default value
* is true. At least one protocol (HTTP or HTTPS) must be allowed.
*/
@JsonProperty(value = "properties.isHttpAllowed")
private Boolean isHttpAllowed;
/**
* Indicates whether HTTPS traffic is allowed on the endpoint. Default
* value is true. At least one protocol (HTTP or HTTPS) must be allowed.
*/
@JsonProperty(value = "properties.isHttpsAllowed")
private Boolean isHttpsAllowed;
/**
* Defines the query string caching behavior. Possible values include:
* 'IgnoreQueryString', 'BypassCaching', 'UseQueryString', 'NotSet'.
*/
@JsonProperty(value = "properties.queryStringCachingBehavior")
private QueryStringCachingBehavior queryStringCachingBehavior;
/**
* Customer can specify what scenario they want this CDN endpoint to
* optimize, e.g. Download, Media services. With this information we can
* apply scenario driven optimization.
*/
@JsonProperty(value = "properties.optimizationType")
private String optimizationType;
/**
* List of rules defining user geo access within a CDN endpoint. Each geo
* filter defines an acess rule to a specified path or content, e.g. block
* APAC for path /pictures/.
*/
@JsonProperty(value = "properties.geoFilters")
private List<GeoFilter> geoFilters;
/**
* Get the tags value.
*
* @return the tags value
*/
public Map<String, String> tags() {
return this.tags;
}
/**
* Set the tags value.
*
* @param tags the tags value to set
* @return the EndpointUpdateParametersInner object itself.
*/
public EndpointUpdateParametersInner withTags(Map<String, String> tags) {
this.tags = tags;
return this;
}
/**
* Get the originHostHeader value.
*
* @return the originHostHeader value
*/
public String originHostHeader() {
return this.originHostHeader;
}
/**
* Set the originHostHeader value.
*
* @param originHostHeader the originHostHeader value to set
* @return the EndpointUpdateParametersInner object itself.
*/
public EndpointUpdateParametersInner withOriginHostHeader(String originHostHeader) {
this.originHostHeader = originHostHeader;
return this;
}
/**
* Get the originPath value.
*
* @return the originPath value
*/
public String originPath() {
return this.originPath;
}
/**
* Set the originPath value.
*
* @param originPath the originPath value to set
* @return the EndpointUpdateParametersInner object itself.
*/
public EndpointUpdateParametersInner withOriginPath(String originPath) {
this.originPath = originPath;
return this;
}
/**
* Get the contentTypesToCompress value.
*
* @return the contentTypesToCompress value
*/
public List<String> contentTypesToCompress() {
return this.contentTypesToCompress;
}
/**
* Set the contentTypesToCompress value.
*
* @param contentTypesToCompress the contentTypesToCompress value to set
* @return the EndpointUpdateParametersInner object itself.
*/
public EndpointUpdateParametersInner withContentTypesToCompress(List<String> contentTypesToCompress) {
this.contentTypesToCompress = contentTypesToCompress;
return this;
}
/**
* Get the isCompressionEnabled value.
*
* @return the isCompressionEnabled value
*/
public Boolean isCompressionEnabled() {
return this.isCompressionEnabled;
}
/**
* Set the isCompressionEnabled value.
*
* @param isCompressionEnabled the isCompressionEnabled value to set
* @return the EndpointUpdateParametersInner object itself.
*/
public EndpointUpdateParametersInner withIsCompressionEnabled(Boolean isCompressionEnabled) {
this.isCompressionEnabled = isCompressionEnabled;
return this;
}
/**
* Get the isHttpAllowed value.
*
* @return the isHttpAllowed value
*/
public Boolean isHttpAllowed() {
return this.isHttpAllowed;
}
/**
* Set the isHttpAllowed value.
*
* @param isHttpAllowed the isHttpAllowed value to set
* @return the EndpointUpdateParametersInner object itself.
*/
public EndpointUpdateParametersInner withIsHttpAllowed(Boolean isHttpAllowed) {
this.isHttpAllowed = isHttpAllowed;
return this;
}
/**
* Get the isHttpsAllowed value.
*
* @return the isHttpsAllowed value
*/
public Boolean isHttpsAllowed() {
return this.isHttpsAllowed;
}
/**
* Set the isHttpsAllowed value.
*
* @param isHttpsAllowed the isHttpsAllowed value to set
* @return the EndpointUpdateParametersInner object itself.
*/
public EndpointUpdateParametersInner withIsHttpsAllowed(Boolean isHttpsAllowed) {
this.isHttpsAllowed = isHttpsAllowed;
return this;
}
/**
* Get the queryStringCachingBehavior value.
*
* @return the queryStringCachingBehavior value
*/
public QueryStringCachingBehavior queryStringCachingBehavior() {
return this.queryStringCachingBehavior;
}
/**
* Set the queryStringCachingBehavior value.
*
* @param queryStringCachingBehavior the queryStringCachingBehavior value to set
* @return the EndpointUpdateParametersInner object itself.
*/
public EndpointUpdateParametersInner withQueryStringCachingBehavior(QueryStringCachingBehavior queryStringCachingBehavior) {
this.queryStringCachingBehavior = queryStringCachingBehavior;
return this;
}
/**
* Get the optimizationType value.
*
* @return the optimizationType value
*/
public String optimizationType() {
return this.optimizationType;
}
/**
* Set the optimizationType value.
*
* @param optimizationType the optimizationType value to set
* @return the EndpointUpdateParametersInner object itself.
*/
public EndpointUpdateParametersInner withOptimizationType(String optimizationType) {
this.optimizationType = optimizationType;
return this;
}
/**
* Get the geoFilters value.
*
* @return the geoFilters value
*/
public List<GeoFilter> geoFilters() {
return this.geoFilters;
}
/**
* Set the geoFilters value.
*
* @param geoFilters the geoFilters value to set
* @return the EndpointUpdateParametersInner object itself.
*/
public EndpointUpdateParametersInner withGeoFilters(List<GeoFilter> geoFilters) {
this.geoFilters = geoFilters;
return this;
}
}