diff --git a/mediaservices/resource-manager/v2018_07_01/pom.xml b/mediaservices/resource-manager/v2018_07_01/pom.xml
new file mode 100644
index 000000000000..830d2d74cb0b
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/pom.xml
@@ -0,0 +1,133 @@
+
+
+ 4.0.0
+ com.microsoft.azure.mediaservices.v2018_07_01
+
+ com.microsoft.azure
+ azure-arm-parent
+ 0.0.2-beta
+ ../../../pom.xml
+
+ azure-mgmt-media
+ 1.0.0-beta
+ jar
+ Microsoft Azure SDK for Media Management
+ This package contains Microsoft Media Management SDK.
+ https://github.com/Azure/azure-libraries-for-java
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+ scm:git:https://github.com/Azure/azure-libraries-for-java
+ scm:git:git@github.com:Azure/azure-libraries-for-java.git
+ HEAD
+
+
+ UTF-8
+
+
+
+
+ microsoft
+ Microsoft
+
+
+
+
+ com.microsoft.azure
+ azure-client-runtime
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+
+
+ junit
+ junit
+ test
+
+
+ com.microsoft.azure
+ azure-client-authentication
+ test
+
+
+ com.microsoft.azure
+ azure-mgmt-resources
+ test
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+ test-jar
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ true
+ true
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+ 1.7
+ 1.7
+
+
+ com.microsoft.azure.management.apigeneration.LangDefinitionProcessor
+
+
+ true
+ true
+
+ true
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.8
+
+ *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search
+
+
+ /**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ */
+ ]]>
+
+
+
+
+
+
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AacAudio.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AacAudio.java
new file mode 100644
index 000000000000..a49a3e4b0578
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AacAudio.java
@@ -0,0 +1,48 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes Advanced Audio Codec (AAC) audio encoding settings.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.AacAudio")
+public class AacAudio extends Audio {
+ /**
+ * The encoding profile to be used when encoding audio with AAC. Possible
+ * values include: 'AacLc', 'HeAacV1', 'HeAacV2'.
+ */
+ @JsonProperty(value = "profile")
+ private AacAudioProfile profile;
+
+ /**
+ * Get the encoding profile to be used when encoding audio with AAC. Possible values include: 'AacLc', 'HeAacV1', 'HeAacV2'.
+ *
+ * @return the profile value
+ */
+ public AacAudioProfile profile() {
+ return this.profile;
+ }
+
+ /**
+ * Set the encoding profile to be used when encoding audio with AAC. Possible values include: 'AacLc', 'HeAacV1', 'HeAacV2'.
+ *
+ * @param profile the profile value to set
+ * @return the AacAudio object itself.
+ */
+ public AacAudio withProfile(AacAudioProfile profile) {
+ this.profile = profile;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AacAudioProfile.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AacAudioProfile.java
new file mode 100644
index 000000000000..f83145b882e0
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AacAudioProfile.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for AacAudioProfile.
+ */
+public enum AacAudioProfile {
+ /** Specifies that the output audio is to be encoded into AAC Low Complexity profile (AAC-LC). */
+ AAC_LC("AacLc"),
+
+ /** Specifies that the output audio is to be encoded into HE-AAC v1 profile. */
+ HE_AAC_V1("HeAacV1"),
+
+ /** Specifies that the output audio is to be encoded into HE-AAC v2 profile. */
+ HE_AAC_V2("HeAacV2");
+
+ /** The actual serialized value for a AacAudioProfile instance. */
+ private String value;
+
+ AacAudioProfile(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a AacAudioProfile instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed AacAudioProfile object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static AacAudioProfile fromString(String value) {
+ AacAudioProfile[] items = AacAudioProfile.values();
+ for (AacAudioProfile item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AccountFilter.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AccountFilter.java
new file mode 100644
index 000000000000..620d45458701
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AccountFilter.java
@@ -0,0 +1,161 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.AccountFilterInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import java.util.List;
+
+/**
+ * Type representing AccountFilter.
+ */
+public interface AccountFilter extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the firstQuality value.
+ */
+ FirstQuality firstQuality();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the presentationTimeRange value.
+ */
+ PresentationTimeRange presentationTimeRange();
+
+ /**
+ * @return the tracks value.
+ */
+ List tracks();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the AccountFilter definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithMediaservice, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of AccountFilter definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a AccountFilter definition.
+ */
+ interface Blank extends WithMediaservice {
+ }
+
+ /**
+ * The stage of the accountfilter definition allowing to specify Mediaservice.
+ */
+ interface WithMediaservice {
+ /**
+ * Specifies resourceGroupName, accountName.
+ */
+ WithCreate withExistingMediaservice(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the accountfilter definition allowing to specify FirstQuality.
+ */
+ interface WithFirstQuality {
+ /**
+ * Specifies firstQuality.
+ */
+ WithCreate withFirstQuality(FirstQuality firstQuality);
+ }
+
+ /**
+ * The stage of the accountfilter definition allowing to specify PresentationTimeRange.
+ */
+ interface WithPresentationTimeRange {
+ /**
+ * Specifies presentationTimeRange.
+ */
+ WithCreate withPresentationTimeRange(PresentationTimeRange presentationTimeRange);
+ }
+
+ /**
+ * The stage of the accountfilter definition allowing to specify Tracks.
+ */
+ interface WithTracks {
+ /**
+ * Specifies tracks.
+ */
+ WithCreate withTracks(List tracks);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithFirstQuality, DefinitionStages.WithPresentationTimeRange, DefinitionStages.WithTracks {
+ }
+ }
+ /**
+ * The template for a AccountFilter update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithFirstQuality, UpdateStages.WithPresentationTimeRange, UpdateStages.WithTracks {
+ }
+
+ /**
+ * Grouping of AccountFilter update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the accountfilter update allowing to specify FirstQuality.
+ */
+ interface WithFirstQuality {
+ /**
+ * Specifies firstQuality.
+ */
+ Update withFirstQuality(FirstQuality firstQuality);
+ }
+
+ /**
+ * The stage of the accountfilter update allowing to specify PresentationTimeRange.
+ */
+ interface WithPresentationTimeRange {
+ /**
+ * Specifies presentationTimeRange.
+ */
+ Update withPresentationTimeRange(PresentationTimeRange presentationTimeRange);
+ }
+
+ /**
+ * The stage of the accountfilter update allowing to specify Tracks.
+ */
+ interface WithTracks {
+ /**
+ * Specifies tracks.
+ */
+ Update withTracks(List tracks);
+ }
+
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AccountFilters.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AccountFilters.java
new file mode 100644
index 000000000000..6b93c63646c2
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AccountFilters.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.AccountFiltersInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing AccountFilters.
+ */
+public interface AccountFilters extends SupportsCreating, HasInner {
+ /**
+ * Get an Account Filter.
+ * Get the details of an Account Filter in the Media Services account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param filterName The Account Filter name
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String accountName, String filterName);
+
+ /**
+ * List Account Filters.
+ * List Account Filters in the Media Services account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String accountName);
+
+ /**
+ * Delete an Account Filter.
+ * Deletes an Account Filter in the Media Services account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param filterName The Account Filter name
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String accountName, String filterName);
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AkamaiAccessControl.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AkamaiAccessControl.java
new file mode 100644
index 000000000000..b7e7ed230de5
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AkamaiAccessControl.java
@@ -0,0 +1,44 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Akamai access control.
+ */
+public class AkamaiAccessControl {
+ /**
+ * authentication key list.
+ */
+ @JsonProperty(value = "akamaiSignatureHeaderAuthenticationKeyList")
+ private List akamaiSignatureHeaderAuthenticationKeyList;
+
+ /**
+ * Get authentication key list.
+ *
+ * @return the akamaiSignatureHeaderAuthenticationKeyList value
+ */
+ public List akamaiSignatureHeaderAuthenticationKeyList() {
+ return this.akamaiSignatureHeaderAuthenticationKeyList;
+ }
+
+ /**
+ * Set authentication key list.
+ *
+ * @param akamaiSignatureHeaderAuthenticationKeyList the akamaiSignatureHeaderAuthenticationKeyList value to set
+ * @return the AkamaiAccessControl object itself.
+ */
+ public AkamaiAccessControl withAkamaiSignatureHeaderAuthenticationKeyList(List akamaiSignatureHeaderAuthenticationKeyList) {
+ this.akamaiSignatureHeaderAuthenticationKeyList = akamaiSignatureHeaderAuthenticationKeyList;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AkamaiSignatureHeaderAuthenticationKey.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AkamaiSignatureHeaderAuthenticationKey.java
new file mode 100644
index 000000000000..9e290c776d11
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AkamaiSignatureHeaderAuthenticationKey.java
@@ -0,0 +1,96 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Akamai Signature Header authentication key.
+ */
+public class AkamaiSignatureHeaderAuthenticationKey {
+ /**
+ * identifier of the key.
+ */
+ @JsonProperty(value = "identifier")
+ private String identifier;
+
+ /**
+ * authentication key.
+ */
+ @JsonProperty(value = "base64Key")
+ private String base64Key;
+
+ /**
+ * The expiration time of the authentication key.
+ */
+ @JsonProperty(value = "expiration")
+ private DateTime expiration;
+
+ /**
+ * Get identifier of the key.
+ *
+ * @return the identifier value
+ */
+ public String identifier() {
+ return this.identifier;
+ }
+
+ /**
+ * Set identifier of the key.
+ *
+ * @param identifier the identifier value to set
+ * @return the AkamaiSignatureHeaderAuthenticationKey object itself.
+ */
+ public AkamaiSignatureHeaderAuthenticationKey withIdentifier(String identifier) {
+ this.identifier = identifier;
+ return this;
+ }
+
+ /**
+ * Get authentication key.
+ *
+ * @return the base64Key value
+ */
+ public String base64Key() {
+ return this.base64Key;
+ }
+
+ /**
+ * Set authentication key.
+ *
+ * @param base64Key the base64Key value to set
+ * @return the AkamaiSignatureHeaderAuthenticationKey object itself.
+ */
+ public AkamaiSignatureHeaderAuthenticationKey withBase64Key(String base64Key) {
+ this.base64Key = base64Key;
+ return this;
+ }
+
+ /**
+ * Get the expiration time of the authentication key.
+ *
+ * @return the expiration value
+ */
+ public DateTime expiration() {
+ return this.expiration;
+ }
+
+ /**
+ * Set the expiration time of the authentication key.
+ *
+ * @param expiration the expiration value to set
+ * @return the AkamaiSignatureHeaderAuthenticationKey object itself.
+ */
+ public AkamaiSignatureHeaderAuthenticationKey withExpiration(DateTime expiration) {
+ this.expiration = expiration;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ApiError.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ApiError.java
new file mode 100644
index 000000000000..f86736836d38
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ApiError.java
@@ -0,0 +1,44 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The API error.
+ */
+public class ApiError {
+ /**
+ * ApiError.
+ * The error properties.
+ */
+ @JsonProperty(value = "error")
+ private ODataError error;
+
+ /**
+ * Get the error properties.
+ *
+ * @return the error value
+ */
+ public ODataError error() {
+ return this.error;
+ }
+
+ /**
+ * Set the error properties.
+ *
+ * @param error the error value to set
+ * @return the ApiError object itself.
+ */
+ public ApiError withError(ODataError error) {
+ this.error = error;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ApiErrorException.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ApiErrorException.java
new file mode 100644
index 000000000000..115ee7ebb7ba
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ApiErrorException.java
@@ -0,0 +1,44 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.rest.RestException;
+import okhttp3.ResponseBody;
+import retrofit2.Response;
+
+/**
+ * Exception thrown for an invalid response with ApiError information.
+ */
+public class ApiErrorException extends RestException {
+ /**
+ * Initializes a new instance of the ApiErrorException class.
+ *
+ * @param message the exception message or the response content if a message is not available
+ * @param response the HTTP response
+ */
+ public ApiErrorException(final String message, final Response response) {
+ super(message, response);
+ }
+
+ /**
+ * Initializes a new instance of the ApiErrorException class.
+ *
+ * @param message the exception message or the response content if a message is not available
+ * @param response the HTTP response
+ * @param body the deserialized response body
+ */
+ public ApiErrorException(final String message, final Response response, final ApiError body) {
+ super(message, response, body);
+ }
+
+ @Override
+ public ApiError body() {
+ return (ApiError) super.body();
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Asset.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Asset.java
new file mode 100644
index 000000000000..670815660e81
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Asset.java
@@ -0,0 +1,207 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.AssetInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import java.util.UUID;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing Asset.
+ */
+public interface Asset extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the alternateId value.
+ */
+ String alternateId();
+
+ /**
+ * @return the assetId value.
+ */
+ UUID assetId();
+
+ /**
+ * @return the container value.
+ */
+ String container();
+
+ /**
+ * @return the created value.
+ */
+ DateTime created();
+
+ /**
+ * @return the description value.
+ */
+ String description();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the lastModified value.
+ */
+ DateTime lastModified();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the storageAccountName value.
+ */
+ String storageAccountName();
+
+ /**
+ * @return the storageEncryptionFormat value.
+ */
+ AssetStorageEncryptionFormat storageEncryptionFormat();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the Asset definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithMediaservice, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of Asset definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a Asset definition.
+ */
+ interface Blank extends WithMediaservice {
+ }
+
+ /**
+ * The stage of the asset definition allowing to specify Mediaservice.
+ */
+ interface WithMediaservice {
+ /**
+ * Specifies resourceGroupName, accountName.
+ */
+ WithCreate withExistingMediaservice(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the asset definition allowing to specify AlternateId.
+ */
+ interface WithAlternateId {
+ /**
+ * Specifies alternateId.
+ */
+ WithCreate withAlternateId(String alternateId);
+ }
+
+ /**
+ * The stage of the asset definition allowing to specify Container.
+ */
+ interface WithContainer {
+ /**
+ * Specifies container.
+ */
+ WithCreate withContainer(String container);
+ }
+
+ /**
+ * The stage of the asset definition allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ */
+ WithCreate withDescription(String description);
+ }
+
+ /**
+ * The stage of the asset definition allowing to specify StorageAccountName.
+ */
+ interface WithStorageAccountName {
+ /**
+ * Specifies storageAccountName.
+ */
+ WithCreate withStorageAccountName(String storageAccountName);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithAlternateId, DefinitionStages.WithContainer, DefinitionStages.WithDescription, DefinitionStages.WithStorageAccountName {
+ }
+ }
+ /**
+ * The template for a Asset update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithAlternateId, UpdateStages.WithContainer, UpdateStages.WithDescription, UpdateStages.WithStorageAccountName {
+ }
+
+ /**
+ * Grouping of Asset update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the asset update allowing to specify AlternateId.
+ */
+ interface WithAlternateId {
+ /**
+ * Specifies alternateId.
+ */
+ Update withAlternateId(String alternateId);
+ }
+
+ /**
+ * The stage of the asset update allowing to specify Container.
+ */
+ interface WithContainer {
+ /**
+ * Specifies container.
+ */
+ Update withContainer(String container);
+ }
+
+ /**
+ * The stage of the asset update allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ */
+ Update withDescription(String description);
+ }
+
+ /**
+ * The stage of the asset update allowing to specify StorageAccountName.
+ */
+ interface WithStorageAccountName {
+ /**
+ * Specifies storageAccountName.
+ */
+ Update withStorageAccountName(String storageAccountName);
+ }
+
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetContainerPermission.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetContainerPermission.java
new file mode 100644
index 000000000000..eb64cdf793c8
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetContainerPermission.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for AssetContainerPermission.
+ */
+public enum AssetContainerPermission {
+ /** The SAS URL will allow read access to the container. */
+ READ("Read"),
+
+ /** The SAS URL will allow read and write access to the container. */
+ READ_WRITE("ReadWrite"),
+
+ /** The SAS URL will allow read, write and delete access to the container. */
+ READ_WRITE_DELETE("ReadWriteDelete");
+
+ /** The actual serialized value for a AssetContainerPermission instance. */
+ private String value;
+
+ AssetContainerPermission(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a AssetContainerPermission instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed AssetContainerPermission object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static AssetContainerPermission fromString(String value) {
+ AssetContainerPermission[] items = AssetContainerPermission.values();
+ for (AssetContainerPermission item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetContainerSas.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetContainerSas.java
new file mode 100644
index 000000000000..420b002bca00
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetContainerSas.java
@@ -0,0 +1,26 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.AssetContainerSasInner;
+import java.util.List;
+
+/**
+ * Type representing AssetContainerSas.
+ */
+public interface AssetContainerSas extends HasInner, HasManager {
+ /**
+ * @return the assetContainerSasUrls value.
+ */
+ List assetContainerSasUrls();
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetFileEncryptionMetadata.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetFileEncryptionMetadata.java
new file mode 100644
index 000000000000..de9f56429b93
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetFileEncryptionMetadata.java
@@ -0,0 +1,96 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.UUID;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The Asset File Storage encryption metadata.
+ */
+public class AssetFileEncryptionMetadata {
+ /**
+ * The Asset File initialization vector.
+ */
+ @JsonProperty(value = "initializationVector")
+ private String initializationVector;
+
+ /**
+ * The Asset File name.
+ */
+ @JsonProperty(value = "assetFileName")
+ private String assetFileName;
+
+ /**
+ * The Asset File Id.
+ */
+ @JsonProperty(value = "assetFileId", required = true)
+ private UUID assetFileId;
+
+ /**
+ * Get the Asset File initialization vector.
+ *
+ * @return the initializationVector value
+ */
+ public String initializationVector() {
+ return this.initializationVector;
+ }
+
+ /**
+ * Set the Asset File initialization vector.
+ *
+ * @param initializationVector the initializationVector value to set
+ * @return the AssetFileEncryptionMetadata object itself.
+ */
+ public AssetFileEncryptionMetadata withInitializationVector(String initializationVector) {
+ this.initializationVector = initializationVector;
+ return this;
+ }
+
+ /**
+ * Get the Asset File name.
+ *
+ * @return the assetFileName value
+ */
+ public String assetFileName() {
+ return this.assetFileName;
+ }
+
+ /**
+ * Set the Asset File name.
+ *
+ * @param assetFileName the assetFileName value to set
+ * @return the AssetFileEncryptionMetadata object itself.
+ */
+ public AssetFileEncryptionMetadata withAssetFileName(String assetFileName) {
+ this.assetFileName = assetFileName;
+ return this;
+ }
+
+ /**
+ * Get the Asset File Id.
+ *
+ * @return the assetFileId value
+ */
+ public UUID assetFileId() {
+ return this.assetFileId;
+ }
+
+ /**
+ * Set the Asset File Id.
+ *
+ * @param assetFileId the assetFileId value to set
+ * @return the AssetFileEncryptionMetadata object itself.
+ */
+ public AssetFileEncryptionMetadata withAssetFileId(UUID assetFileId) {
+ this.assetFileId = assetFileId;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetFilter.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetFilter.java
new file mode 100644
index 000000000000..c814d900208a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetFilter.java
@@ -0,0 +1,161 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.AssetFilterInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import java.util.List;
+
+/**
+ * Type representing AssetFilter.
+ */
+public interface AssetFilter extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the firstQuality value.
+ */
+ FirstQuality firstQuality();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the presentationTimeRange value.
+ */
+ PresentationTimeRange presentationTimeRange();
+
+ /**
+ * @return the tracks value.
+ */
+ List tracks();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the AssetFilter definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithAsset, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of AssetFilter definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a AssetFilter definition.
+ */
+ interface Blank extends WithAsset {
+ }
+
+ /**
+ * The stage of the assetfilter definition allowing to specify Asset.
+ */
+ interface WithAsset {
+ /**
+ * Specifies resourceGroupName, accountName, assetName.
+ */
+ WithCreate withExistingAsset(String resourceGroupName, String accountName, String assetName);
+ }
+
+ /**
+ * The stage of the assetfilter definition allowing to specify FirstQuality.
+ */
+ interface WithFirstQuality {
+ /**
+ * Specifies firstQuality.
+ */
+ WithCreate withFirstQuality(FirstQuality firstQuality);
+ }
+
+ /**
+ * The stage of the assetfilter definition allowing to specify PresentationTimeRange.
+ */
+ interface WithPresentationTimeRange {
+ /**
+ * Specifies presentationTimeRange.
+ */
+ WithCreate withPresentationTimeRange(PresentationTimeRange presentationTimeRange);
+ }
+
+ /**
+ * The stage of the assetfilter definition allowing to specify Tracks.
+ */
+ interface WithTracks {
+ /**
+ * Specifies tracks.
+ */
+ WithCreate withTracks(List tracks);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithFirstQuality, DefinitionStages.WithPresentationTimeRange, DefinitionStages.WithTracks {
+ }
+ }
+ /**
+ * The template for a AssetFilter update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithFirstQuality, UpdateStages.WithPresentationTimeRange, UpdateStages.WithTracks {
+ }
+
+ /**
+ * Grouping of AssetFilter update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the assetfilter update allowing to specify FirstQuality.
+ */
+ interface WithFirstQuality {
+ /**
+ * Specifies firstQuality.
+ */
+ Update withFirstQuality(FirstQuality firstQuality);
+ }
+
+ /**
+ * The stage of the assetfilter update allowing to specify PresentationTimeRange.
+ */
+ interface WithPresentationTimeRange {
+ /**
+ * Specifies presentationTimeRange.
+ */
+ Update withPresentationTimeRange(PresentationTimeRange presentationTimeRange);
+ }
+
+ /**
+ * The stage of the assetfilter update allowing to specify Tracks.
+ */
+ interface WithTracks {
+ /**
+ * Specifies tracks.
+ */
+ Update withTracks(List tracks);
+ }
+
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetFilters.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetFilters.java
new file mode 100644
index 000000000000..76ce8661bf86
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetFilters.java
@@ -0,0 +1,59 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.AssetFiltersInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing AssetFilters.
+ */
+public interface AssetFilters extends SupportsCreating, HasInner {
+ /**
+ * Get an Asset Filter.
+ * Get the details of an Asset Filter associated with the specified Asset.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param assetName The Asset name.
+ * @param filterName The Asset Filter name
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String accountName, String assetName, String filterName);
+
+ /**
+ * List Asset Filters.
+ * List Asset Filters associated with the specified Asset.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param assetName The Asset name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String accountName, final String assetName);
+
+ /**
+ * Delete an Asset Filter.
+ * Deletes an Asset Filter associated with the specified Asset.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param assetName The Asset name.
+ * @param filterName The Asset Filter name
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String accountName, String assetName, String filterName);
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetStorageEncryptionFormat.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetStorageEncryptionFormat.java
new file mode 100644
index 000000000000..2dee5fc05ab1
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetStorageEncryptionFormat.java
@@ -0,0 +1,53 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for AssetStorageEncryptionFormat.
+ */
+public enum AssetStorageEncryptionFormat {
+ /** The Asset does not use client-side storage encryption (this is the only allowed value for new Assets). */
+ NONE("None"),
+
+ /** The Asset is encrypted with Media Services client-side encryption. */
+ MEDIA_STORAGE_CLIENT_ENCRYPTION("MediaStorageClientEncryption");
+
+ /** The actual serialized value for a AssetStorageEncryptionFormat instance. */
+ private String value;
+
+ AssetStorageEncryptionFormat(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a AssetStorageEncryptionFormat instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed AssetStorageEncryptionFormat object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static AssetStorageEncryptionFormat fromString(String value) {
+ AssetStorageEncryptionFormat[] items = AssetStorageEncryptionFormat.values();
+ for (AssetStorageEncryptionFormat item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetStreamingLocator.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetStreamingLocator.java
new file mode 100644
index 000000000000..58774074213b
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AssetStreamingLocator.java
@@ -0,0 +1,139 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import org.joda.time.DateTime;
+import java.util.UUID;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Properties of the Streaming Locator.
+ */
+public class AssetStreamingLocator {
+ /**
+ * Streaming Locator name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /**
+ * Asset Name.
+ */
+ @JsonProperty(value = "assetName", access = JsonProperty.Access.WRITE_ONLY)
+ private String assetName;
+
+ /**
+ * The creation time of the Streaming Locator.
+ */
+ @JsonProperty(value = "created", access = JsonProperty.Access.WRITE_ONLY)
+ private DateTime created;
+
+ /**
+ * The start time of the Streaming Locator.
+ */
+ @JsonProperty(value = "startTime", access = JsonProperty.Access.WRITE_ONLY)
+ private DateTime startTime;
+
+ /**
+ * The end time of the Streaming Locator.
+ */
+ @JsonProperty(value = "endTime", access = JsonProperty.Access.WRITE_ONLY)
+ private DateTime endTime;
+
+ /**
+ * StreamingLocatorId of the Streaming Locator.
+ */
+ @JsonProperty(value = "streamingLocatorId", access = JsonProperty.Access.WRITE_ONLY)
+ private UUID streamingLocatorId;
+
+ /**
+ * Name of the Streaming Policy used by this Streaming Locator.
+ */
+ @JsonProperty(value = "streamingPolicyName", access = JsonProperty.Access.WRITE_ONLY)
+ private String streamingPolicyName;
+
+ /**
+ * Name of the default ContentKeyPolicy used by this Streaming Locator.
+ */
+ @JsonProperty(value = "defaultContentKeyPolicyName", access = JsonProperty.Access.WRITE_ONLY)
+ private String defaultContentKeyPolicyName;
+
+ /**
+ * Get streaming Locator name.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get asset Name.
+ *
+ * @return the assetName value
+ */
+ public String assetName() {
+ return this.assetName;
+ }
+
+ /**
+ * Get the creation time of the Streaming Locator.
+ *
+ * @return the created value
+ */
+ public DateTime created() {
+ return this.created;
+ }
+
+ /**
+ * Get the start time of the Streaming Locator.
+ *
+ * @return the startTime value
+ */
+ public DateTime startTime() {
+ return this.startTime;
+ }
+
+ /**
+ * Get the end time of the Streaming Locator.
+ *
+ * @return the endTime value
+ */
+ public DateTime endTime() {
+ return this.endTime;
+ }
+
+ /**
+ * Get streamingLocatorId of the Streaming Locator.
+ *
+ * @return the streamingLocatorId value
+ */
+ public UUID streamingLocatorId() {
+ return this.streamingLocatorId;
+ }
+
+ /**
+ * Get name of the Streaming Policy used by this Streaming Locator.
+ *
+ * @return the streamingPolicyName value
+ */
+ public String streamingPolicyName() {
+ return this.streamingPolicyName;
+ }
+
+ /**
+ * Get name of the default ContentKeyPolicy used by this Streaming Locator.
+ *
+ * @return the defaultContentKeyPolicyName value
+ */
+ public String defaultContentKeyPolicyName() {
+ return this.defaultContentKeyPolicyName;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Assets.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Assets.java
new file mode 100644
index 000000000000..a8765f4244cd
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Assets.java
@@ -0,0 +1,93 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.AssetsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Assets.
+ */
+public interface Assets extends SupportsCreating, HasInner {
+ /**
+ * List the Asset URLs.
+ * Lists storage container URLs with shared access signatures (SAS) for uploading and downloading Asset content. The signatures are derived from the storage account keys.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param assetName The Asset name.
+ * @param parameters The request parameters
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listContainerSasAsync(String resourceGroupName, String accountName, String assetName, ListContainerSasInput parameters);
+
+ /**
+ * Gets the Asset storage key.
+ * Gets the Asset storage encryption keys used to decrypt content created by version 2 of the Media Services API.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param assetName The Asset name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getEncryptionKeyAsync(String resourceGroupName, String accountName, String assetName);
+
+ /**
+ * List Streaming Locators.
+ * Lists Streaming Locators which are associated with this asset.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param assetName The Asset name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listStreamingLocatorsAsync(String resourceGroupName, String accountName, String assetName);
+
+ /**
+ * Get an Asset.
+ * Get the details of an Asset in the Media Services account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param assetName The Asset name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String accountName, String assetName);
+
+ /**
+ * List Assets.
+ * List Assets in the Media Services account with optional filtering and ordering.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String accountName);
+
+ /**
+ * Delete an Asset.
+ * Deletes an Asset in the Media Services account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param assetName The Asset name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String accountName, String assetName);
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Audio.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Audio.java
new file mode 100644
index 000000000000..6def69e0c709
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Audio.java
@@ -0,0 +1,103 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Defines the common properties for all audio codecs.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.Audio")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.AacAudio", value = AacAudio.class)
+})
+public class Audio extends Codec {
+ /**
+ * The number of channels in the audio.
+ */
+ @JsonProperty(value = "channels")
+ private Integer channels;
+
+ /**
+ * The sampling rate to use for encoding in hertz.
+ */
+ @JsonProperty(value = "samplingRate")
+ private Integer samplingRate;
+
+ /**
+ * The bitrate, in bits per second, of the output encoded audio.
+ */
+ @JsonProperty(value = "bitrate")
+ private Integer bitrate;
+
+ /**
+ * Get the number of channels in the audio.
+ *
+ * @return the channels value
+ */
+ public Integer channels() {
+ return this.channels;
+ }
+
+ /**
+ * Set the number of channels in the audio.
+ *
+ * @param channels the channels value to set
+ * @return the Audio object itself.
+ */
+ public Audio withChannels(Integer channels) {
+ this.channels = channels;
+ return this;
+ }
+
+ /**
+ * Get the sampling rate to use for encoding in hertz.
+ *
+ * @return the samplingRate value
+ */
+ public Integer samplingRate() {
+ return this.samplingRate;
+ }
+
+ /**
+ * Set the sampling rate to use for encoding in hertz.
+ *
+ * @param samplingRate the samplingRate value to set
+ * @return the Audio object itself.
+ */
+ public Audio withSamplingRate(Integer samplingRate) {
+ this.samplingRate = samplingRate;
+ return this;
+ }
+
+ /**
+ * Get the bitrate, in bits per second, of the output encoded audio.
+ *
+ * @return the bitrate value
+ */
+ public Integer bitrate() {
+ return this.bitrate;
+ }
+
+ /**
+ * Set the bitrate, in bits per second, of the output encoded audio.
+ *
+ * @param bitrate the bitrate value to set
+ * @return the Audio object itself.
+ */
+ public Audio withBitrate(Integer bitrate) {
+ this.bitrate = bitrate;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AudioAnalyzerPreset.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AudioAnalyzerPreset.java
new file mode 100644
index 000000000000..c1da8da065d3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AudioAnalyzerPreset.java
@@ -0,0 +1,61 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * The Audio Analyzer preset applies a pre-defined set of AI-based analysis
+ * operations, including speech transcription. Currently, the preset supports
+ * processing of content with a single audio track.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.AudioAnalyzerPreset")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.VideoAnalyzerPreset", value = VideoAnalyzerPreset.class)
+})
+public class AudioAnalyzerPreset extends Preset {
+ /**
+ * The language for the audio payload in the input using the BCP-47 format
+ * of 'language tag-region' (e.g: 'en-US'). The list of supported languages
+ * are, 'en-US', 'en-GB', 'es-ES', 'es-MX', 'fr-FR', 'it-IT', 'ja-JP',
+ * 'pt-BR', 'zh-CN', 'de-DE', 'ar-EG', 'ru-RU', 'hi-IN'. If not specified,
+ * automatic language detection would be employed. This feature currently
+ * supports English, Chinese, French, German, Italian, Japanese, Spanish,
+ * Russian, and Portuguese. The automatic detection works best with audio
+ * recordings with clearly discernable speech. If automatic detection fails
+ * to find the language, transcription would fallback to English.
+ */
+ @JsonProperty(value = "audioLanguage")
+ private String audioLanguage;
+
+ /**
+ * Get the language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are, 'en-US', 'en-GB', 'es-ES', 'es-MX', 'fr-FR', 'it-IT', 'ja-JP', 'pt-BR', 'zh-CN', 'de-DE', 'ar-EG', 'ru-RU', 'hi-IN'. If not specified, automatic language detection would be employed. This feature currently supports English, Chinese, French, German, Italian, Japanese, Spanish, Russian, and Portuguese. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to English.
+ *
+ * @return the audioLanguage value
+ */
+ public String audioLanguage() {
+ return this.audioLanguage;
+ }
+
+ /**
+ * Set the language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are, 'en-US', 'en-GB', 'es-ES', 'es-MX', 'fr-FR', 'it-IT', 'ja-JP', 'pt-BR', 'zh-CN', 'de-DE', 'ar-EG', 'ru-RU', 'hi-IN'. If not specified, automatic language detection would be employed. This feature currently supports English, Chinese, French, German, Italian, Japanese, Spanish, Russian, and Portuguese. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to English.
+ *
+ * @param audioLanguage the audioLanguage value to set
+ * @return the AudioAnalyzerPreset object itself.
+ */
+ public AudioAnalyzerPreset withAudioLanguage(String audioLanguage) {
+ this.audioLanguage = audioLanguage;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AudioOverlay.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AudioOverlay.java
new file mode 100644
index 000000000000..a886804ec19f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/AudioOverlay.java
@@ -0,0 +1,20 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes the properties of an audio overlay.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.AudioOverlay")
+public class AudioOverlay extends Overlay {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/BuiltInStandardEncoderPreset.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/BuiltInStandardEncoderPreset.java
new file mode 100644
index 000000000000..7d77ef5c547f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/BuiltInStandardEncoderPreset.java
@@ -0,0 +1,52 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes a built-in preset for encoding the input video with the Standard
+ * Encoder.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.BuiltInStandardEncoderPreset")
+public class BuiltInStandardEncoderPreset extends Preset {
+ /**
+ * The built-in preset to be used for encoding videos. Possible values
+ * include: 'H264SingleBitrateSD', 'H264SingleBitrate720p',
+ * 'H264SingleBitrate1080p', 'AdaptiveStreaming', 'AACGoodQualityAudio',
+ * 'H264MultipleBitrate1080p', 'H264MultipleBitrate720p',
+ * 'H264MultipleBitrateSD'.
+ */
+ @JsonProperty(value = "presetName", required = true)
+ private EncoderNamedPreset presetName;
+
+ /**
+ * Get the built-in preset to be used for encoding videos. Possible values include: 'H264SingleBitrateSD', 'H264SingleBitrate720p', 'H264SingleBitrate1080p', 'AdaptiveStreaming', 'AACGoodQualityAudio', 'H264MultipleBitrate1080p', 'H264MultipleBitrate720p', 'H264MultipleBitrateSD'.
+ *
+ * @return the presetName value
+ */
+ public EncoderNamedPreset presetName() {
+ return this.presetName;
+ }
+
+ /**
+ * Set the built-in preset to be used for encoding videos. Possible values include: 'H264SingleBitrateSD', 'H264SingleBitrate720p', 'H264SingleBitrate1080p', 'AdaptiveStreaming', 'AACGoodQualityAudio', 'H264MultipleBitrate1080p', 'H264MultipleBitrate720p', 'H264MultipleBitrateSD'.
+ *
+ * @param presetName the presetName value to set
+ * @return the BuiltInStandardEncoderPreset object itself.
+ */
+ public BuiltInStandardEncoderPreset withPresetName(EncoderNamedPreset presetName) {
+ this.presetName = presetName;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CbcsDrmConfiguration.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CbcsDrmConfiguration.java
new file mode 100644
index 000000000000..4cad4b31f9fa
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CbcsDrmConfiguration.java
@@ -0,0 +1,96 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class to specify DRM configurations of CommonEncryptionCbcs scheme in
+ * Streaming Policy.
+ */
+public class CbcsDrmConfiguration {
+ /**
+ * FairPlay configurations.
+ */
+ @JsonProperty(value = "fairPlay")
+ private StreamingPolicyFairPlayConfiguration fairPlay;
+
+ /**
+ * PlayReady configurations.
+ */
+ @JsonProperty(value = "playReady")
+ private StreamingPolicyPlayReadyConfiguration playReady;
+
+ /**
+ * Widevine configurations.
+ */
+ @JsonProperty(value = "widevine")
+ private StreamingPolicyWidevineConfiguration widevine;
+
+ /**
+ * Get fairPlay configurations.
+ *
+ * @return the fairPlay value
+ */
+ public StreamingPolicyFairPlayConfiguration fairPlay() {
+ return this.fairPlay;
+ }
+
+ /**
+ * Set fairPlay configurations.
+ *
+ * @param fairPlay the fairPlay value to set
+ * @return the CbcsDrmConfiguration object itself.
+ */
+ public CbcsDrmConfiguration withFairPlay(StreamingPolicyFairPlayConfiguration fairPlay) {
+ this.fairPlay = fairPlay;
+ return this;
+ }
+
+ /**
+ * Get playReady configurations.
+ *
+ * @return the playReady value
+ */
+ public StreamingPolicyPlayReadyConfiguration playReady() {
+ return this.playReady;
+ }
+
+ /**
+ * Set playReady configurations.
+ *
+ * @param playReady the playReady value to set
+ * @return the CbcsDrmConfiguration object itself.
+ */
+ public CbcsDrmConfiguration withPlayReady(StreamingPolicyPlayReadyConfiguration playReady) {
+ this.playReady = playReady;
+ return this;
+ }
+
+ /**
+ * Get widevine configurations.
+ *
+ * @return the widevine value
+ */
+ public StreamingPolicyWidevineConfiguration widevine() {
+ return this.widevine;
+ }
+
+ /**
+ * Set widevine configurations.
+ *
+ * @param widevine the widevine value to set
+ * @return the CbcsDrmConfiguration object itself.
+ */
+ public CbcsDrmConfiguration withWidevine(StreamingPolicyWidevineConfiguration widevine) {
+ this.widevine = widevine;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CencDrmConfiguration.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CencDrmConfiguration.java
new file mode 100644
index 000000000000..d2f4c6d1aa34
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CencDrmConfiguration.java
@@ -0,0 +1,70 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class to specify DRM configurations of CommonEncryptionCenc scheme in
+ * Streaming Policy.
+ */
+public class CencDrmConfiguration {
+ /**
+ * PlayReady configurations.
+ */
+ @JsonProperty(value = "playReady")
+ private StreamingPolicyPlayReadyConfiguration playReady;
+
+ /**
+ * Widevine configurations.
+ */
+ @JsonProperty(value = "widevine")
+ private StreamingPolicyWidevineConfiguration widevine;
+
+ /**
+ * Get playReady configurations.
+ *
+ * @return the playReady value
+ */
+ public StreamingPolicyPlayReadyConfiguration playReady() {
+ return this.playReady;
+ }
+
+ /**
+ * Set playReady configurations.
+ *
+ * @param playReady the playReady value to set
+ * @return the CencDrmConfiguration object itself.
+ */
+ public CencDrmConfiguration withPlayReady(StreamingPolicyPlayReadyConfiguration playReady) {
+ this.playReady = playReady;
+ return this;
+ }
+
+ /**
+ * Get widevine configurations.
+ *
+ * @return the widevine value
+ */
+ public StreamingPolicyWidevineConfiguration widevine() {
+ return this.widevine;
+ }
+
+ /**
+ * Set widevine configurations.
+ *
+ * @param widevine the widevine value to set
+ * @return the CencDrmConfiguration object itself.
+ */
+ public CencDrmConfiguration withWidevine(StreamingPolicyWidevineConfiguration widevine) {
+ this.widevine = widevine;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CheckNameAvailabilityInput.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CheckNameAvailabilityInput.java
new file mode 100644
index 000000000000..bfff683363fa
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CheckNameAvailabilityInput.java
@@ -0,0 +1,70 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The input to the check name availability request.
+ */
+public class CheckNameAvailabilityInput {
+ /**
+ * The account name.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * The account type. For a Media Services account, this should be
+ * 'MediaServices'.
+ */
+ @JsonProperty(value = "type")
+ private String type;
+
+ /**
+ * Get the account name.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the account name.
+ *
+ * @param name the name value to set
+ * @return the CheckNameAvailabilityInput object itself.
+ */
+ public CheckNameAvailabilityInput withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the account type. For a Media Services account, this should be 'MediaServices'.
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set the account type. For a Media Services account, this should be 'MediaServices'.
+ *
+ * @param type the type value to set
+ * @return the CheckNameAvailabilityInput object itself.
+ */
+ public CheckNameAvailabilityInput withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Codec.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Codec.java
new file mode 100644
index 000000000000..6d0ae5d293c5
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Codec.java
@@ -0,0 +1,55 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Describes the basic properties of all codecs.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("Codec")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.Audio", value = Audio.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.CopyVideo", value = CopyVideo.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.Video", value = Video.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.CopyAudio", value = CopyAudio.class)
+})
+public class Codec {
+ /**
+ * An optional label for the codec. The label can be used to control muxing
+ * behavior.
+ */
+ @JsonProperty(value = "label")
+ private String label;
+
+ /**
+ * Get an optional label for the codec. The label can be used to control muxing behavior.
+ *
+ * @return the label value
+ */
+ public String label() {
+ return this.label;
+ }
+
+ /**
+ * Set an optional label for the codec. The label can be used to control muxing behavior.
+ *
+ * @param label the label value to set
+ * @return the Codec object itself.
+ */
+ public Codec withLabel(String label) {
+ this.label = label;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CommonEncryptionCbcs.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CommonEncryptionCbcs.java
new file mode 100644
index 000000000000..20f55a8b3fb2
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CommonEncryptionCbcs.java
@@ -0,0 +1,123 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class for CommonEncryptionCbcs encryption scheme.
+ */
+public class CommonEncryptionCbcs {
+ /**
+ * Representing supported protocols.
+ */
+ @JsonProperty(value = "enabledProtocols")
+ private EnabledProtocols enabledProtocols;
+
+ /**
+ * Representing which tracks should not be encrypted.
+ */
+ @JsonProperty(value = "clearTracks")
+ private List clearTracks;
+
+ /**
+ * Representing default content key for each encryption scheme and separate
+ * content keys for specific tracks.
+ */
+ @JsonProperty(value = "contentKeys")
+ private StreamingPolicyContentKeys contentKeys;
+
+ /**
+ * Configuration of DRMs for current encryption scheme.
+ */
+ @JsonProperty(value = "drm")
+ private CbcsDrmConfiguration drm;
+
+ /**
+ * Get representing supported protocols.
+ *
+ * @return the enabledProtocols value
+ */
+ public EnabledProtocols enabledProtocols() {
+ return this.enabledProtocols;
+ }
+
+ /**
+ * Set representing supported protocols.
+ *
+ * @param enabledProtocols the enabledProtocols value to set
+ * @return the CommonEncryptionCbcs object itself.
+ */
+ public CommonEncryptionCbcs withEnabledProtocols(EnabledProtocols enabledProtocols) {
+ this.enabledProtocols = enabledProtocols;
+ return this;
+ }
+
+ /**
+ * Get representing which tracks should not be encrypted.
+ *
+ * @return the clearTracks value
+ */
+ public List clearTracks() {
+ return this.clearTracks;
+ }
+
+ /**
+ * Set representing which tracks should not be encrypted.
+ *
+ * @param clearTracks the clearTracks value to set
+ * @return the CommonEncryptionCbcs object itself.
+ */
+ public CommonEncryptionCbcs withClearTracks(List clearTracks) {
+ this.clearTracks = clearTracks;
+ return this;
+ }
+
+ /**
+ * Get representing default content key for each encryption scheme and separate content keys for specific tracks.
+ *
+ * @return the contentKeys value
+ */
+ public StreamingPolicyContentKeys contentKeys() {
+ return this.contentKeys;
+ }
+
+ /**
+ * Set representing default content key for each encryption scheme and separate content keys for specific tracks.
+ *
+ * @param contentKeys the contentKeys value to set
+ * @return the CommonEncryptionCbcs object itself.
+ */
+ public CommonEncryptionCbcs withContentKeys(StreamingPolicyContentKeys contentKeys) {
+ this.contentKeys = contentKeys;
+ return this;
+ }
+
+ /**
+ * Get configuration of DRMs for current encryption scheme.
+ *
+ * @return the drm value
+ */
+ public CbcsDrmConfiguration drm() {
+ return this.drm;
+ }
+
+ /**
+ * Set configuration of DRMs for current encryption scheme.
+ *
+ * @param drm the drm value to set
+ * @return the CommonEncryptionCbcs object itself.
+ */
+ public CommonEncryptionCbcs withDrm(CbcsDrmConfiguration drm) {
+ this.drm = drm;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CommonEncryptionCenc.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CommonEncryptionCenc.java
new file mode 100644
index 000000000000..95720f3a56b3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CommonEncryptionCenc.java
@@ -0,0 +1,123 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class for envelope encryption scheme.
+ */
+public class CommonEncryptionCenc {
+ /**
+ * Representing supported protocols.
+ */
+ @JsonProperty(value = "enabledProtocols")
+ private EnabledProtocols enabledProtocols;
+
+ /**
+ * Representing which tracks should not be encrypted.
+ */
+ @JsonProperty(value = "clearTracks")
+ private List clearTracks;
+
+ /**
+ * Representing default content key for each encryption scheme and separate
+ * content keys for specific tracks.
+ */
+ @JsonProperty(value = "contentKeys")
+ private StreamingPolicyContentKeys contentKeys;
+
+ /**
+ * Configuration of DRMs for CommonEncryptionCenc encryption scheme.
+ */
+ @JsonProperty(value = "drm")
+ private CencDrmConfiguration drm;
+
+ /**
+ * Get representing supported protocols.
+ *
+ * @return the enabledProtocols value
+ */
+ public EnabledProtocols enabledProtocols() {
+ return this.enabledProtocols;
+ }
+
+ /**
+ * Set representing supported protocols.
+ *
+ * @param enabledProtocols the enabledProtocols value to set
+ * @return the CommonEncryptionCenc object itself.
+ */
+ public CommonEncryptionCenc withEnabledProtocols(EnabledProtocols enabledProtocols) {
+ this.enabledProtocols = enabledProtocols;
+ return this;
+ }
+
+ /**
+ * Get representing which tracks should not be encrypted.
+ *
+ * @return the clearTracks value
+ */
+ public List clearTracks() {
+ return this.clearTracks;
+ }
+
+ /**
+ * Set representing which tracks should not be encrypted.
+ *
+ * @param clearTracks the clearTracks value to set
+ * @return the CommonEncryptionCenc object itself.
+ */
+ public CommonEncryptionCenc withClearTracks(List clearTracks) {
+ this.clearTracks = clearTracks;
+ return this;
+ }
+
+ /**
+ * Get representing default content key for each encryption scheme and separate content keys for specific tracks.
+ *
+ * @return the contentKeys value
+ */
+ public StreamingPolicyContentKeys contentKeys() {
+ return this.contentKeys;
+ }
+
+ /**
+ * Set representing default content key for each encryption scheme and separate content keys for specific tracks.
+ *
+ * @param contentKeys the contentKeys value to set
+ * @return the CommonEncryptionCenc object itself.
+ */
+ public CommonEncryptionCenc withContentKeys(StreamingPolicyContentKeys contentKeys) {
+ this.contentKeys = contentKeys;
+ return this;
+ }
+
+ /**
+ * Get configuration of DRMs for CommonEncryptionCenc encryption scheme.
+ *
+ * @return the drm value
+ */
+ public CencDrmConfiguration drm() {
+ return this.drm;
+ }
+
+ /**
+ * Set configuration of DRMs for CommonEncryptionCenc encryption scheme.
+ *
+ * @param drm the drm value to set
+ * @return the CommonEncryptionCenc object itself.
+ */
+ public CommonEncryptionCenc withDrm(CencDrmConfiguration drm) {
+ this.drm = drm;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicies.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicies.java
new file mode 100644
index 000000000000..abf2c7686b39
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicies.java
@@ -0,0 +1,68 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.ContentKeyPoliciesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing ContentKeyPolicies.
+ */
+public interface ContentKeyPolicies extends SupportsCreating, HasInner {
+ /**
+ * Get a Content Key Policy with secrets.
+ * Get a Content Key Policy including secret values.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param contentKeyPolicyName The Content Key Policy name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getPolicyPropertiesWithSecretsAsync(String resourceGroupName, String accountName, String contentKeyPolicyName);
+
+ /**
+ * Get a Content Key Policy.
+ * Get the details of a Content Key Policy in the Media Services account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param contentKeyPolicyName The Content Key Policy name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String accountName, String contentKeyPolicyName);
+
+ /**
+ * List Content Key Policies.
+ * Lists the Content Key Policies in the account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String accountName);
+
+ /**
+ * Delete a Content Key Policy.
+ * Deletes a Content Key Policy in the Media Services account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param contentKeyPolicyName The Content Key Policy name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String accountName, String contentKeyPolicyName);
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicy.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicy.java
new file mode 100644
index 000000000000..4192f980d71e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicy.java
@@ -0,0 +1,143 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.ContentKeyPolicyInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import java.util.UUID;
+import org.joda.time.DateTime;
+import java.util.List;
+
+/**
+ * Type representing ContentKeyPolicy.
+ */
+public interface ContentKeyPolicy extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the created value.
+ */
+ DateTime created();
+
+ /**
+ * @return the description value.
+ */
+ String description();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the lastModified value.
+ */
+ DateTime lastModified();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the options value.
+ */
+ List options();
+
+ /**
+ * @return the policyId value.
+ */
+ UUID policyId();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the ContentKeyPolicy definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithMediaservice, DefinitionStages.WithOptions, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of ContentKeyPolicy definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a ContentKeyPolicy definition.
+ */
+ interface Blank extends WithMediaservice {
+ }
+
+ /**
+ * The stage of the contentkeypolicy definition allowing to specify Mediaservice.
+ */
+ interface WithMediaservice {
+ /**
+ * Specifies resourceGroupName, accountName.
+ */
+ WithOptions withExistingMediaservice(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the contentkeypolicy definition allowing to specify Options.
+ */
+ interface WithOptions {
+ /**
+ * Specifies options.
+ */
+ WithCreate withOptions(List options);
+ }
+
+ /**
+ * The stage of the contentkeypolicy definition allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ */
+ WithCreate withDescription(String description);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithDescription {
+ }
+ }
+ /**
+ * The template for a ContentKeyPolicy update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithDescription {
+ }
+
+ /**
+ * Grouping of ContentKeyPolicy update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the contentkeypolicy update allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ */
+ Update withDescription(String description);
+ }
+
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyClearKeyConfiguration.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyClearKeyConfiguration.java
new file mode 100644
index 000000000000..fc9d9ea468b7
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyClearKeyConfiguration.java
@@ -0,0 +1,20 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Represents a configuration for non-DRM keys.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration")
+public class ContentKeyPolicyClearKeyConfiguration extends ContentKeyPolicyConfiguration {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyConfiguration.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyConfiguration.java
new file mode 100644
index 000000000000..609588af127a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyConfiguration.java
@@ -0,0 +1,29 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Base class for Content Key Policy configuration. A derived class must be
+ * used to create a configuration.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("ContentKeyPolicyConfiguration")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration", value = ContentKeyPolicyClearKeyConfiguration.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ContentKeyPolicyUnknownConfiguration", value = ContentKeyPolicyUnknownConfiguration.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", value = ContentKeyPolicyWidevineConfiguration.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", value = ContentKeyPolicyPlayReadyConfiguration.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration", value = ContentKeyPolicyFairPlayConfiguration.class)
+})
+public class ContentKeyPolicyConfiguration {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyFairPlayConfiguration.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyFairPlayConfiguration.java
new file mode 100644
index 000000000000..2a15d7b724ed
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyFairPlayConfiguration.java
@@ -0,0 +1,153 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Specifies a configuration for FairPlay licenses.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration")
+public class ContentKeyPolicyFairPlayConfiguration extends ContentKeyPolicyConfiguration {
+ /**
+ * The key that must be used as FairPlay Application Secret key.
+ */
+ @JsonProperty(value = "ask", required = true)
+ private byte[] ask;
+
+ /**
+ * The password encrypting FairPlay certificate in PKCS 12 (pfx) format.
+ */
+ @JsonProperty(value = "fairPlayPfxPassword", required = true)
+ private String fairPlayPfxPassword;
+
+ /**
+ * The Base64 representation of FairPlay certificate in PKCS 12 (pfx)
+ * format (including private key).
+ */
+ @JsonProperty(value = "fairPlayPfx", required = true)
+ private String fairPlayPfx;
+
+ /**
+ * The rental and lease key type. Possible values include: 'Unknown',
+ * 'Undefined', 'PersistentUnlimited', 'PersistentLimited'.
+ */
+ @JsonProperty(value = "rentalAndLeaseKeyType", required = true)
+ private ContentKeyPolicyFairPlayRentalAndLeaseKeyType rentalAndLeaseKeyType;
+
+ /**
+ * The rental duration. Must be greater than or equal to 0.
+ */
+ @JsonProperty(value = "rentalDuration", required = true)
+ private long rentalDuration;
+
+ /**
+ * Get the key that must be used as FairPlay Application Secret key.
+ *
+ * @return the ask value
+ */
+ public byte[] ask() {
+ return this.ask;
+ }
+
+ /**
+ * Set the key that must be used as FairPlay Application Secret key.
+ *
+ * @param ask the ask value to set
+ * @return the ContentKeyPolicyFairPlayConfiguration object itself.
+ */
+ public ContentKeyPolicyFairPlayConfiguration withAsk(byte[] ask) {
+ this.ask = ask;
+ return this;
+ }
+
+ /**
+ * Get the password encrypting FairPlay certificate in PKCS 12 (pfx) format.
+ *
+ * @return the fairPlayPfxPassword value
+ */
+ public String fairPlayPfxPassword() {
+ return this.fairPlayPfxPassword;
+ }
+
+ /**
+ * Set the password encrypting FairPlay certificate in PKCS 12 (pfx) format.
+ *
+ * @param fairPlayPfxPassword the fairPlayPfxPassword value to set
+ * @return the ContentKeyPolicyFairPlayConfiguration object itself.
+ */
+ public ContentKeyPolicyFairPlayConfiguration withFairPlayPfxPassword(String fairPlayPfxPassword) {
+ this.fairPlayPfxPassword = fairPlayPfxPassword;
+ return this;
+ }
+
+ /**
+ * Get the Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key).
+ *
+ * @return the fairPlayPfx value
+ */
+ public String fairPlayPfx() {
+ return this.fairPlayPfx;
+ }
+
+ /**
+ * Set the Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key).
+ *
+ * @param fairPlayPfx the fairPlayPfx value to set
+ * @return the ContentKeyPolicyFairPlayConfiguration object itself.
+ */
+ public ContentKeyPolicyFairPlayConfiguration withFairPlayPfx(String fairPlayPfx) {
+ this.fairPlayPfx = fairPlayPfx;
+ return this;
+ }
+
+ /**
+ * Get the rental and lease key type. Possible values include: 'Unknown', 'Undefined', 'PersistentUnlimited', 'PersistentLimited'.
+ *
+ * @return the rentalAndLeaseKeyType value
+ */
+ public ContentKeyPolicyFairPlayRentalAndLeaseKeyType rentalAndLeaseKeyType() {
+ return this.rentalAndLeaseKeyType;
+ }
+
+ /**
+ * Set the rental and lease key type. Possible values include: 'Unknown', 'Undefined', 'PersistentUnlimited', 'PersistentLimited'.
+ *
+ * @param rentalAndLeaseKeyType the rentalAndLeaseKeyType value to set
+ * @return the ContentKeyPolicyFairPlayConfiguration object itself.
+ */
+ public ContentKeyPolicyFairPlayConfiguration withRentalAndLeaseKeyType(ContentKeyPolicyFairPlayRentalAndLeaseKeyType rentalAndLeaseKeyType) {
+ this.rentalAndLeaseKeyType = rentalAndLeaseKeyType;
+ return this;
+ }
+
+ /**
+ * Get the rental duration. Must be greater than or equal to 0.
+ *
+ * @return the rentalDuration value
+ */
+ public long rentalDuration() {
+ return this.rentalDuration;
+ }
+
+ /**
+ * Set the rental duration. Must be greater than or equal to 0.
+ *
+ * @param rentalDuration the rentalDuration value to set
+ * @return the ContentKeyPolicyFairPlayConfiguration object itself.
+ */
+ public ContentKeyPolicyFairPlayConfiguration withRentalDuration(long rentalDuration) {
+ this.rentalDuration = rentalDuration;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyFairPlayRentalAndLeaseKeyType.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyFairPlayRentalAndLeaseKeyType.java
new file mode 100644
index 000000000000..51a342ae0afc
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyFairPlayRentalAndLeaseKeyType.java
@@ -0,0 +1,59 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for ContentKeyPolicyFairPlayRentalAndLeaseKeyType.
+ */
+public enum ContentKeyPolicyFairPlayRentalAndLeaseKeyType {
+ /** Represents a ContentKeyPolicyFairPlayRentalAndLeaseKeyType that is unavailable in current API version. */
+ UNKNOWN("Unknown"),
+
+ /** Key duration is not specified. */
+ UNDEFINED("Undefined"),
+
+ /** Content key can be persisted with an unlimited duration. */
+ PERSISTENT_UNLIMITED("PersistentUnlimited"),
+
+ /** Content key can be persisted and the valid duration is limited by the Rental Duration value. */
+ PERSISTENT_LIMITED("PersistentLimited");
+
+ /** The actual serialized value for a ContentKeyPolicyFairPlayRentalAndLeaseKeyType instance. */
+ private String value;
+
+ ContentKeyPolicyFairPlayRentalAndLeaseKeyType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a ContentKeyPolicyFairPlayRentalAndLeaseKeyType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed ContentKeyPolicyFairPlayRentalAndLeaseKeyType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static ContentKeyPolicyFairPlayRentalAndLeaseKeyType fromString(String value) {
+ ContentKeyPolicyFairPlayRentalAndLeaseKeyType[] items = ContentKeyPolicyFairPlayRentalAndLeaseKeyType.values();
+ for (ContentKeyPolicyFairPlayRentalAndLeaseKeyType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyOpenRestriction.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyOpenRestriction.java
new file mode 100644
index 000000000000..44620732dc5d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyOpenRestriction.java
@@ -0,0 +1,21 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Represents an open restriction. License or key will be delivered on every
+ * request.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ContentKeyPolicyOpenRestriction")
+public class ContentKeyPolicyOpenRestriction extends ContentKeyPolicyRestriction {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyOption.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyOption.java
new file mode 100644
index 000000000000..58d8fba5a07e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyOption.java
@@ -0,0 +1,112 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.UUID;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Represents a policy option.
+ */
+public class ContentKeyPolicyOption {
+ /**
+ * The legacy Policy Option ID.
+ */
+ @JsonProperty(value = "policyOptionId", access = JsonProperty.Access.WRITE_ONLY)
+ private UUID policyOptionId;
+
+ /**
+ * The Policy Option description.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * The key delivery configuration.
+ */
+ @JsonProperty(value = "configuration", required = true)
+ private ContentKeyPolicyConfiguration configuration;
+
+ /**
+ * The requirements that must be met to deliver keys with this
+ * configuration.
+ */
+ @JsonProperty(value = "restriction", required = true)
+ private ContentKeyPolicyRestriction restriction;
+
+ /**
+ * Get the legacy Policy Option ID.
+ *
+ * @return the policyOptionId value
+ */
+ public UUID policyOptionId() {
+ return this.policyOptionId;
+ }
+
+ /**
+ * Get the Policy Option description.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the Policy Option description.
+ *
+ * @param name the name value to set
+ * @return the ContentKeyPolicyOption object itself.
+ */
+ public ContentKeyPolicyOption withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the key delivery configuration.
+ *
+ * @return the configuration value
+ */
+ public ContentKeyPolicyConfiguration configuration() {
+ return this.configuration;
+ }
+
+ /**
+ * Set the key delivery configuration.
+ *
+ * @param configuration the configuration value to set
+ * @return the ContentKeyPolicyOption object itself.
+ */
+ public ContentKeyPolicyOption withConfiguration(ContentKeyPolicyConfiguration configuration) {
+ this.configuration = configuration;
+ return this;
+ }
+
+ /**
+ * Get the requirements that must be met to deliver keys with this configuration.
+ *
+ * @return the restriction value
+ */
+ public ContentKeyPolicyRestriction restriction() {
+ return this.restriction;
+ }
+
+ /**
+ * Set the requirements that must be met to deliver keys with this configuration.
+ *
+ * @param restriction the restriction value to set
+ * @return the ContentKeyPolicyOption object itself.
+ */
+ public ContentKeyPolicyOption withRestriction(ContentKeyPolicyRestriction restriction) {
+ this.restriction = restriction;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyConfiguration.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyConfiguration.java
new file mode 100644
index 000000000000..c312fe329700
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyConfiguration.java
@@ -0,0 +1,74 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Specifies a configuration for PlayReady licenses.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration")
+public class ContentKeyPolicyPlayReadyConfiguration extends ContentKeyPolicyConfiguration {
+ /**
+ * The PlayReady licenses.
+ */
+ @JsonProperty(value = "licenses", required = true)
+ private List licenses;
+
+ /**
+ * The custom response data.
+ */
+ @JsonProperty(value = "responseCustomData")
+ private String responseCustomData;
+
+ /**
+ * Get the PlayReady licenses.
+ *
+ * @return the licenses value
+ */
+ public List licenses() {
+ return this.licenses;
+ }
+
+ /**
+ * Set the PlayReady licenses.
+ *
+ * @param licenses the licenses value to set
+ * @return the ContentKeyPolicyPlayReadyConfiguration object itself.
+ */
+ public ContentKeyPolicyPlayReadyConfiguration withLicenses(List licenses) {
+ this.licenses = licenses;
+ return this;
+ }
+
+ /**
+ * Get the custom response data.
+ *
+ * @return the responseCustomData value
+ */
+ public String responseCustomData() {
+ return this.responseCustomData;
+ }
+
+ /**
+ * Set the custom response data.
+ *
+ * @param responseCustomData the responseCustomData value to set
+ * @return the ContentKeyPolicyPlayReadyConfiguration object itself.
+ */
+ public ContentKeyPolicyPlayReadyConfiguration withResponseCustomData(String responseCustomData) {
+ this.responseCustomData = responseCustomData;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader.java
new file mode 100644
index 000000000000..674a7245b830
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader.java
@@ -0,0 +1,20 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Specifies that the content key ID is in the PlayReady header.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader")
+public class ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader extends ContentKeyPolicyPlayReadyContentKeyLocation {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier.java
new file mode 100644
index 000000000000..0f3e6f638e16
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier.java
@@ -0,0 +1,49 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.UUID;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Specifies that the content key ID is specified in the PlayReady
+ * configuration.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier")
+public class ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier extends ContentKeyPolicyPlayReadyContentKeyLocation {
+ /**
+ * The content key ID.
+ */
+ @JsonProperty(value = "keyId", required = true)
+ private UUID keyId;
+
+ /**
+ * Get the content key ID.
+ *
+ * @return the keyId value
+ */
+ public UUID keyId() {
+ return this.keyId;
+ }
+
+ /**
+ * Set the content key ID.
+ *
+ * @param keyId the keyId value to set
+ * @return the ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier object itself.
+ */
+ public ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier withKeyId(UUID keyId) {
+ this.keyId = keyId;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyContentKeyLocation.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyContentKeyLocation.java
new file mode 100644
index 000000000000..04bb5d8e89c6
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyContentKeyLocation.java
@@ -0,0 +1,26 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Base class for content key ID location. A derived class must be used to
+ * represent the location.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("ContentKeyPolicyPlayReadyContentKeyLocation")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader", value = ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier", value = ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier.class)
+})
+public class ContentKeyPolicyPlayReadyContentKeyLocation {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyContentType.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyContentType.java
new file mode 100644
index 000000000000..fc40894ab01b
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyContentType.java
@@ -0,0 +1,59 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for ContentKeyPolicyPlayReadyContentType.
+ */
+public enum ContentKeyPolicyPlayReadyContentType {
+ /** Represents a ContentKeyPolicyPlayReadyContentType that is unavailable in current API version. */
+ UNKNOWN("Unknown"),
+
+ /** Unspecified content type. */
+ UNSPECIFIED("Unspecified"),
+
+ /** Ultraviolet download content type. */
+ ULTRA_VIOLET_DOWNLOAD("UltraVioletDownload"),
+
+ /** Ultraviolet streaming content type. */
+ ULTRA_VIOLET_STREAMING("UltraVioletStreaming");
+
+ /** The actual serialized value for a ContentKeyPolicyPlayReadyContentType instance. */
+ private String value;
+
+ ContentKeyPolicyPlayReadyContentType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a ContentKeyPolicyPlayReadyContentType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed ContentKeyPolicyPlayReadyContentType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static ContentKeyPolicyPlayReadyContentType fromString(String value) {
+ ContentKeyPolicyPlayReadyContentType[] items = ContentKeyPolicyPlayReadyContentType.values();
+ for (ContentKeyPolicyPlayReadyContentType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction.java
new file mode 100644
index 000000000000..ba1b7e978c7d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction.java
@@ -0,0 +1,71 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Configures the Explicit Analog Television Output Restriction control bits.
+ * For further details see the PlayReady Compliance Rules.
+ */
+public class ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction {
+ /**
+ * Indicates whether this restriction is enforced on a Best Effort basis.
+ */
+ @JsonProperty(value = "bestEffort", required = true)
+ private boolean bestEffort;
+
+ /**
+ * Configures the restriction control bits. Must be between 0 and 3
+ * inclusive.
+ */
+ @JsonProperty(value = "configurationData", required = true)
+ private int configurationData;
+
+ /**
+ * Get indicates whether this restriction is enforced on a Best Effort basis.
+ *
+ * @return the bestEffort value
+ */
+ public boolean bestEffort() {
+ return this.bestEffort;
+ }
+
+ /**
+ * Set indicates whether this restriction is enforced on a Best Effort basis.
+ *
+ * @param bestEffort the bestEffort value to set
+ * @return the ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction object itself.
+ */
+ public ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction withBestEffort(boolean bestEffort) {
+ this.bestEffort = bestEffort;
+ return this;
+ }
+
+ /**
+ * Get configures the restriction control bits. Must be between 0 and 3 inclusive.
+ *
+ * @return the configurationData value
+ */
+ public int configurationData() {
+ return this.configurationData;
+ }
+
+ /**
+ * Set configures the restriction control bits. Must be between 0 and 3 inclusive.
+ *
+ * @param configurationData the configurationData value to set
+ * @return the ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction object itself.
+ */
+ public ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction withConfigurationData(int configurationData) {
+ this.configurationData = configurationData;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyLicense.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyLicense.java
new file mode 100644
index 000000000000..6b00b103d08e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyLicense.java
@@ -0,0 +1,281 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import org.joda.time.DateTime;
+import org.joda.time.Period;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The PlayReady license.
+ */
+public class ContentKeyPolicyPlayReadyLicense {
+ /**
+ * A flag indicating whether test devices can use the license.
+ */
+ @JsonProperty(value = "allowTestDevices", required = true)
+ private boolean allowTestDevices;
+
+ /**
+ * The begin date of license.
+ */
+ @JsonProperty(value = "beginDate")
+ private DateTime beginDate;
+
+ /**
+ * The expiration date of license.
+ */
+ @JsonProperty(value = "expirationDate")
+ private DateTime expirationDate;
+
+ /**
+ * The relative begin date of license.
+ */
+ @JsonProperty(value = "relativeBeginDate")
+ private Period relativeBeginDate;
+
+ /**
+ * The relative expiration date of license.
+ */
+ @JsonProperty(value = "relativeExpirationDate")
+ private Period relativeExpirationDate;
+
+ /**
+ * The grace period of license.
+ */
+ @JsonProperty(value = "gracePeriod")
+ private Period gracePeriod;
+
+ /**
+ * The license PlayRight.
+ */
+ @JsonProperty(value = "playRight")
+ private ContentKeyPolicyPlayReadyPlayRight playRight;
+
+ /**
+ * The license type. Possible values include: 'Unknown', 'NonPersistent',
+ * 'Persistent'.
+ */
+ @JsonProperty(value = "licenseType", required = true)
+ private ContentKeyPolicyPlayReadyLicenseType licenseType;
+
+ /**
+ * The content key location.
+ */
+ @JsonProperty(value = "contentKeyLocation", required = true)
+ private ContentKeyPolicyPlayReadyContentKeyLocation contentKeyLocation;
+
+ /**
+ * The PlayReady content type. Possible values include: 'Unknown',
+ * 'Unspecified', 'UltraVioletDownload', 'UltraVioletStreaming'.
+ */
+ @JsonProperty(value = "contentType", required = true)
+ private ContentKeyPolicyPlayReadyContentType contentType;
+
+ /**
+ * Get a flag indicating whether test devices can use the license.
+ *
+ * @return the allowTestDevices value
+ */
+ public boolean allowTestDevices() {
+ return this.allowTestDevices;
+ }
+
+ /**
+ * Set a flag indicating whether test devices can use the license.
+ *
+ * @param allowTestDevices the allowTestDevices value to set
+ * @return the ContentKeyPolicyPlayReadyLicense object itself.
+ */
+ public ContentKeyPolicyPlayReadyLicense withAllowTestDevices(boolean allowTestDevices) {
+ this.allowTestDevices = allowTestDevices;
+ return this;
+ }
+
+ /**
+ * Get the begin date of license.
+ *
+ * @return the beginDate value
+ */
+ public DateTime beginDate() {
+ return this.beginDate;
+ }
+
+ /**
+ * Set the begin date of license.
+ *
+ * @param beginDate the beginDate value to set
+ * @return the ContentKeyPolicyPlayReadyLicense object itself.
+ */
+ public ContentKeyPolicyPlayReadyLicense withBeginDate(DateTime beginDate) {
+ this.beginDate = beginDate;
+ return this;
+ }
+
+ /**
+ * Get the expiration date of license.
+ *
+ * @return the expirationDate value
+ */
+ public DateTime expirationDate() {
+ return this.expirationDate;
+ }
+
+ /**
+ * Set the expiration date of license.
+ *
+ * @param expirationDate the expirationDate value to set
+ * @return the ContentKeyPolicyPlayReadyLicense object itself.
+ */
+ public ContentKeyPolicyPlayReadyLicense withExpirationDate(DateTime expirationDate) {
+ this.expirationDate = expirationDate;
+ return this;
+ }
+
+ /**
+ * Get the relative begin date of license.
+ *
+ * @return the relativeBeginDate value
+ */
+ public Period relativeBeginDate() {
+ return this.relativeBeginDate;
+ }
+
+ /**
+ * Set the relative begin date of license.
+ *
+ * @param relativeBeginDate the relativeBeginDate value to set
+ * @return the ContentKeyPolicyPlayReadyLicense object itself.
+ */
+ public ContentKeyPolicyPlayReadyLicense withRelativeBeginDate(Period relativeBeginDate) {
+ this.relativeBeginDate = relativeBeginDate;
+ return this;
+ }
+
+ /**
+ * Get the relative expiration date of license.
+ *
+ * @return the relativeExpirationDate value
+ */
+ public Period relativeExpirationDate() {
+ return this.relativeExpirationDate;
+ }
+
+ /**
+ * Set the relative expiration date of license.
+ *
+ * @param relativeExpirationDate the relativeExpirationDate value to set
+ * @return the ContentKeyPolicyPlayReadyLicense object itself.
+ */
+ public ContentKeyPolicyPlayReadyLicense withRelativeExpirationDate(Period relativeExpirationDate) {
+ this.relativeExpirationDate = relativeExpirationDate;
+ return this;
+ }
+
+ /**
+ * Get the grace period of license.
+ *
+ * @return the gracePeriod value
+ */
+ public Period gracePeriod() {
+ return this.gracePeriod;
+ }
+
+ /**
+ * Set the grace period of license.
+ *
+ * @param gracePeriod the gracePeriod value to set
+ * @return the ContentKeyPolicyPlayReadyLicense object itself.
+ */
+ public ContentKeyPolicyPlayReadyLicense withGracePeriod(Period gracePeriod) {
+ this.gracePeriod = gracePeriod;
+ return this;
+ }
+
+ /**
+ * Get the license PlayRight.
+ *
+ * @return the playRight value
+ */
+ public ContentKeyPolicyPlayReadyPlayRight playRight() {
+ return this.playRight;
+ }
+
+ /**
+ * Set the license PlayRight.
+ *
+ * @param playRight the playRight value to set
+ * @return the ContentKeyPolicyPlayReadyLicense object itself.
+ */
+ public ContentKeyPolicyPlayReadyLicense withPlayRight(ContentKeyPolicyPlayReadyPlayRight playRight) {
+ this.playRight = playRight;
+ return this;
+ }
+
+ /**
+ * Get the license type. Possible values include: 'Unknown', 'NonPersistent', 'Persistent'.
+ *
+ * @return the licenseType value
+ */
+ public ContentKeyPolicyPlayReadyLicenseType licenseType() {
+ return this.licenseType;
+ }
+
+ /**
+ * Set the license type. Possible values include: 'Unknown', 'NonPersistent', 'Persistent'.
+ *
+ * @param licenseType the licenseType value to set
+ * @return the ContentKeyPolicyPlayReadyLicense object itself.
+ */
+ public ContentKeyPolicyPlayReadyLicense withLicenseType(ContentKeyPolicyPlayReadyLicenseType licenseType) {
+ this.licenseType = licenseType;
+ return this;
+ }
+
+ /**
+ * Get the content key location.
+ *
+ * @return the contentKeyLocation value
+ */
+ public ContentKeyPolicyPlayReadyContentKeyLocation contentKeyLocation() {
+ return this.contentKeyLocation;
+ }
+
+ /**
+ * Set the content key location.
+ *
+ * @param contentKeyLocation the contentKeyLocation value to set
+ * @return the ContentKeyPolicyPlayReadyLicense object itself.
+ */
+ public ContentKeyPolicyPlayReadyLicense withContentKeyLocation(ContentKeyPolicyPlayReadyContentKeyLocation contentKeyLocation) {
+ this.contentKeyLocation = contentKeyLocation;
+ return this;
+ }
+
+ /**
+ * Get the PlayReady content type. Possible values include: 'Unknown', 'Unspecified', 'UltraVioletDownload', 'UltraVioletStreaming'.
+ *
+ * @return the contentType value
+ */
+ public ContentKeyPolicyPlayReadyContentType contentType() {
+ return this.contentType;
+ }
+
+ /**
+ * Set the PlayReady content type. Possible values include: 'Unknown', 'Unspecified', 'UltraVioletDownload', 'UltraVioletStreaming'.
+ *
+ * @param contentType the contentType value to set
+ * @return the ContentKeyPolicyPlayReadyLicense object itself.
+ */
+ public ContentKeyPolicyPlayReadyLicense withContentType(ContentKeyPolicyPlayReadyContentType contentType) {
+ this.contentType = contentType;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyLicenseType.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyLicenseType.java
new file mode 100644
index 000000000000..d781d03b75f1
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyLicenseType.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for ContentKeyPolicyPlayReadyLicenseType.
+ */
+public enum ContentKeyPolicyPlayReadyLicenseType {
+ /** Represents a ContentKeyPolicyPlayReadyLicenseType that is unavailable in current API version. */
+ UNKNOWN("Unknown"),
+
+ /** Non persistent license. */
+ NON_PERSISTENT("NonPersistent"),
+
+ /** Persistent license. Allows offline playback. */
+ PERSISTENT("Persistent");
+
+ /** The actual serialized value for a ContentKeyPolicyPlayReadyLicenseType instance. */
+ private String value;
+
+ ContentKeyPolicyPlayReadyLicenseType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a ContentKeyPolicyPlayReadyLicenseType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed ContentKeyPolicyPlayReadyLicenseType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static ContentKeyPolicyPlayReadyLicenseType fromString(String value) {
+ ContentKeyPolicyPlayReadyLicenseType[] items = ContentKeyPolicyPlayReadyLicenseType.values();
+ for (ContentKeyPolicyPlayReadyLicenseType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyPlayRight.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyPlayRight.java
new file mode 100644
index 000000000000..748f989bcc67
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyPlayRight.java
@@ -0,0 +1,365 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import org.joda.time.Period;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Configures the Play Right in the PlayReady license.
+ */
+public class ContentKeyPolicyPlayReadyPlayRight {
+ /**
+ * The amount of time that the license is valid after the license is first
+ * used to play content.
+ */
+ @JsonProperty(value = "firstPlayExpiration")
+ private Period firstPlayExpiration;
+
+ /**
+ * Configures the Serial Copy Management System (SCMS) in the license. Must
+ * be between 0 and 3 inclusive.
+ */
+ @JsonProperty(value = "scmsRestriction")
+ private Integer scmsRestriction;
+
+ /**
+ * Configures Automatic Gain Control (AGC) and Color Stripe in the license.
+ * Must be between 0 and 3 inclusive.
+ */
+ @JsonProperty(value = "agcAndColorStripeRestriction")
+ private Integer agcAndColorStripeRestriction;
+
+ /**
+ * Configures the Explicit Analog Television Output Restriction in the
+ * license. Configuration data must be between 0 and 3 inclusive.
+ */
+ @JsonProperty(value = "explicitAnalogTelevisionOutputRestriction")
+ private ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction explicitAnalogTelevisionOutputRestriction;
+
+ /**
+ * Enables the Image Constraint For Analog Component Video Restriction in
+ * the license.
+ */
+ @JsonProperty(value = "digitalVideoOnlyContentRestriction", required = true)
+ private boolean digitalVideoOnlyContentRestriction;
+
+ /**
+ * Enables the Image Constraint For Analog Component Video Restriction in
+ * the license.
+ */
+ @JsonProperty(value = "imageConstraintForAnalogComponentVideoRestriction", required = true)
+ private boolean imageConstraintForAnalogComponentVideoRestriction;
+
+ /**
+ * Enables the Image Constraint For Analog Component Video Restriction in
+ * the license.
+ */
+ @JsonProperty(value = "imageConstraintForAnalogComputerMonitorRestriction", required = true)
+ private boolean imageConstraintForAnalogComputerMonitorRestriction;
+
+ /**
+ * Configures Unknown output handling settings of the license. Possible
+ * values include: 'Unknown', 'NotAllowed', 'Allowed',
+ * 'AllowedWithVideoConstriction'.
+ */
+ @JsonProperty(value = "allowPassingVideoContentToUnknownOutput", required = true)
+ private ContentKeyPolicyPlayReadyUnknownOutputPassingOption allowPassingVideoContentToUnknownOutput;
+
+ /**
+ * Specifies the output protection level for uncompressed digital video.
+ */
+ @JsonProperty(value = "uncompressedDigitalVideoOpl")
+ private Integer uncompressedDigitalVideoOpl;
+
+ /**
+ * Specifies the output protection level for compressed digital video.
+ */
+ @JsonProperty(value = "compressedDigitalVideoOpl")
+ private Integer compressedDigitalVideoOpl;
+
+ /**
+ * Specifies the output protection level for compressed digital audio.
+ */
+ @JsonProperty(value = "analogVideoOpl")
+ private Integer analogVideoOpl;
+
+ /**
+ * Specifies the output protection level for compressed digital audio.
+ */
+ @JsonProperty(value = "compressedDigitalAudioOpl")
+ private Integer compressedDigitalAudioOpl;
+
+ /**
+ * Specifies the output protection level for uncompressed digital audio.
+ */
+ @JsonProperty(value = "uncompressedDigitalAudioOpl")
+ private Integer uncompressedDigitalAudioOpl;
+
+ /**
+ * Get the amount of time that the license is valid after the license is first used to play content.
+ *
+ * @return the firstPlayExpiration value
+ */
+ public Period firstPlayExpiration() {
+ return this.firstPlayExpiration;
+ }
+
+ /**
+ * Set the amount of time that the license is valid after the license is first used to play content.
+ *
+ * @param firstPlayExpiration the firstPlayExpiration value to set
+ * @return the ContentKeyPolicyPlayReadyPlayRight object itself.
+ */
+ public ContentKeyPolicyPlayReadyPlayRight withFirstPlayExpiration(Period firstPlayExpiration) {
+ this.firstPlayExpiration = firstPlayExpiration;
+ return this;
+ }
+
+ /**
+ * Get configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive.
+ *
+ * @return the scmsRestriction value
+ */
+ public Integer scmsRestriction() {
+ return this.scmsRestriction;
+ }
+
+ /**
+ * Set configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive.
+ *
+ * @param scmsRestriction the scmsRestriction value to set
+ * @return the ContentKeyPolicyPlayReadyPlayRight object itself.
+ */
+ public ContentKeyPolicyPlayReadyPlayRight withScmsRestriction(Integer scmsRestriction) {
+ this.scmsRestriction = scmsRestriction;
+ return this;
+ }
+
+ /**
+ * Get configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive.
+ *
+ * @return the agcAndColorStripeRestriction value
+ */
+ public Integer agcAndColorStripeRestriction() {
+ return this.agcAndColorStripeRestriction;
+ }
+
+ /**
+ * Set configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive.
+ *
+ * @param agcAndColorStripeRestriction the agcAndColorStripeRestriction value to set
+ * @return the ContentKeyPolicyPlayReadyPlayRight object itself.
+ */
+ public ContentKeyPolicyPlayReadyPlayRight withAgcAndColorStripeRestriction(Integer agcAndColorStripeRestriction) {
+ this.agcAndColorStripeRestriction = agcAndColorStripeRestriction;
+ return this;
+ }
+
+ /**
+ * Get configures the Explicit Analog Television Output Restriction in the license. Configuration data must be between 0 and 3 inclusive.
+ *
+ * @return the explicitAnalogTelevisionOutputRestriction value
+ */
+ public ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction explicitAnalogTelevisionOutputRestriction() {
+ return this.explicitAnalogTelevisionOutputRestriction;
+ }
+
+ /**
+ * Set configures the Explicit Analog Television Output Restriction in the license. Configuration data must be between 0 and 3 inclusive.
+ *
+ * @param explicitAnalogTelevisionOutputRestriction the explicitAnalogTelevisionOutputRestriction value to set
+ * @return the ContentKeyPolicyPlayReadyPlayRight object itself.
+ */
+ public ContentKeyPolicyPlayReadyPlayRight withExplicitAnalogTelevisionOutputRestriction(ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction explicitAnalogTelevisionOutputRestriction) {
+ this.explicitAnalogTelevisionOutputRestriction = explicitAnalogTelevisionOutputRestriction;
+ return this;
+ }
+
+ /**
+ * Get enables the Image Constraint For Analog Component Video Restriction in the license.
+ *
+ * @return the digitalVideoOnlyContentRestriction value
+ */
+ public boolean digitalVideoOnlyContentRestriction() {
+ return this.digitalVideoOnlyContentRestriction;
+ }
+
+ /**
+ * Set enables the Image Constraint For Analog Component Video Restriction in the license.
+ *
+ * @param digitalVideoOnlyContentRestriction the digitalVideoOnlyContentRestriction value to set
+ * @return the ContentKeyPolicyPlayReadyPlayRight object itself.
+ */
+ public ContentKeyPolicyPlayReadyPlayRight withDigitalVideoOnlyContentRestriction(boolean digitalVideoOnlyContentRestriction) {
+ this.digitalVideoOnlyContentRestriction = digitalVideoOnlyContentRestriction;
+ return this;
+ }
+
+ /**
+ * Get enables the Image Constraint For Analog Component Video Restriction in the license.
+ *
+ * @return the imageConstraintForAnalogComponentVideoRestriction value
+ */
+ public boolean imageConstraintForAnalogComponentVideoRestriction() {
+ return this.imageConstraintForAnalogComponentVideoRestriction;
+ }
+
+ /**
+ * Set enables the Image Constraint For Analog Component Video Restriction in the license.
+ *
+ * @param imageConstraintForAnalogComponentVideoRestriction the imageConstraintForAnalogComponentVideoRestriction value to set
+ * @return the ContentKeyPolicyPlayReadyPlayRight object itself.
+ */
+ public ContentKeyPolicyPlayReadyPlayRight withImageConstraintForAnalogComponentVideoRestriction(boolean imageConstraintForAnalogComponentVideoRestriction) {
+ this.imageConstraintForAnalogComponentVideoRestriction = imageConstraintForAnalogComponentVideoRestriction;
+ return this;
+ }
+
+ /**
+ * Get enables the Image Constraint For Analog Component Video Restriction in the license.
+ *
+ * @return the imageConstraintForAnalogComputerMonitorRestriction value
+ */
+ public boolean imageConstraintForAnalogComputerMonitorRestriction() {
+ return this.imageConstraintForAnalogComputerMonitorRestriction;
+ }
+
+ /**
+ * Set enables the Image Constraint For Analog Component Video Restriction in the license.
+ *
+ * @param imageConstraintForAnalogComputerMonitorRestriction the imageConstraintForAnalogComputerMonitorRestriction value to set
+ * @return the ContentKeyPolicyPlayReadyPlayRight object itself.
+ */
+ public ContentKeyPolicyPlayReadyPlayRight withImageConstraintForAnalogComputerMonitorRestriction(boolean imageConstraintForAnalogComputerMonitorRestriction) {
+ this.imageConstraintForAnalogComputerMonitorRestriction = imageConstraintForAnalogComputerMonitorRestriction;
+ return this;
+ }
+
+ /**
+ * Get configures Unknown output handling settings of the license. Possible values include: 'Unknown', 'NotAllowed', 'Allowed', 'AllowedWithVideoConstriction'.
+ *
+ * @return the allowPassingVideoContentToUnknownOutput value
+ */
+ public ContentKeyPolicyPlayReadyUnknownOutputPassingOption allowPassingVideoContentToUnknownOutput() {
+ return this.allowPassingVideoContentToUnknownOutput;
+ }
+
+ /**
+ * Set configures Unknown output handling settings of the license. Possible values include: 'Unknown', 'NotAllowed', 'Allowed', 'AllowedWithVideoConstriction'.
+ *
+ * @param allowPassingVideoContentToUnknownOutput the allowPassingVideoContentToUnknownOutput value to set
+ * @return the ContentKeyPolicyPlayReadyPlayRight object itself.
+ */
+ public ContentKeyPolicyPlayReadyPlayRight withAllowPassingVideoContentToUnknownOutput(ContentKeyPolicyPlayReadyUnknownOutputPassingOption allowPassingVideoContentToUnknownOutput) {
+ this.allowPassingVideoContentToUnknownOutput = allowPassingVideoContentToUnknownOutput;
+ return this;
+ }
+
+ /**
+ * Get specifies the output protection level for uncompressed digital video.
+ *
+ * @return the uncompressedDigitalVideoOpl value
+ */
+ public Integer uncompressedDigitalVideoOpl() {
+ return this.uncompressedDigitalVideoOpl;
+ }
+
+ /**
+ * Set specifies the output protection level for uncompressed digital video.
+ *
+ * @param uncompressedDigitalVideoOpl the uncompressedDigitalVideoOpl value to set
+ * @return the ContentKeyPolicyPlayReadyPlayRight object itself.
+ */
+ public ContentKeyPolicyPlayReadyPlayRight withUncompressedDigitalVideoOpl(Integer uncompressedDigitalVideoOpl) {
+ this.uncompressedDigitalVideoOpl = uncompressedDigitalVideoOpl;
+ return this;
+ }
+
+ /**
+ * Get specifies the output protection level for compressed digital video.
+ *
+ * @return the compressedDigitalVideoOpl value
+ */
+ public Integer compressedDigitalVideoOpl() {
+ return this.compressedDigitalVideoOpl;
+ }
+
+ /**
+ * Set specifies the output protection level for compressed digital video.
+ *
+ * @param compressedDigitalVideoOpl the compressedDigitalVideoOpl value to set
+ * @return the ContentKeyPolicyPlayReadyPlayRight object itself.
+ */
+ public ContentKeyPolicyPlayReadyPlayRight withCompressedDigitalVideoOpl(Integer compressedDigitalVideoOpl) {
+ this.compressedDigitalVideoOpl = compressedDigitalVideoOpl;
+ return this;
+ }
+
+ /**
+ * Get specifies the output protection level for compressed digital audio.
+ *
+ * @return the analogVideoOpl value
+ */
+ public Integer analogVideoOpl() {
+ return this.analogVideoOpl;
+ }
+
+ /**
+ * Set specifies the output protection level for compressed digital audio.
+ *
+ * @param analogVideoOpl the analogVideoOpl value to set
+ * @return the ContentKeyPolicyPlayReadyPlayRight object itself.
+ */
+ public ContentKeyPolicyPlayReadyPlayRight withAnalogVideoOpl(Integer analogVideoOpl) {
+ this.analogVideoOpl = analogVideoOpl;
+ return this;
+ }
+
+ /**
+ * Get specifies the output protection level for compressed digital audio.
+ *
+ * @return the compressedDigitalAudioOpl value
+ */
+ public Integer compressedDigitalAudioOpl() {
+ return this.compressedDigitalAudioOpl;
+ }
+
+ /**
+ * Set specifies the output protection level for compressed digital audio.
+ *
+ * @param compressedDigitalAudioOpl the compressedDigitalAudioOpl value to set
+ * @return the ContentKeyPolicyPlayReadyPlayRight object itself.
+ */
+ public ContentKeyPolicyPlayReadyPlayRight withCompressedDigitalAudioOpl(Integer compressedDigitalAudioOpl) {
+ this.compressedDigitalAudioOpl = compressedDigitalAudioOpl;
+ return this;
+ }
+
+ /**
+ * Get specifies the output protection level for uncompressed digital audio.
+ *
+ * @return the uncompressedDigitalAudioOpl value
+ */
+ public Integer uncompressedDigitalAudioOpl() {
+ return this.uncompressedDigitalAudioOpl;
+ }
+
+ /**
+ * Set specifies the output protection level for uncompressed digital audio.
+ *
+ * @param uncompressedDigitalAudioOpl the uncompressedDigitalAudioOpl value to set
+ * @return the ContentKeyPolicyPlayReadyPlayRight object itself.
+ */
+ public ContentKeyPolicyPlayReadyPlayRight withUncompressedDigitalAudioOpl(Integer uncompressedDigitalAudioOpl) {
+ this.uncompressedDigitalAudioOpl = uncompressedDigitalAudioOpl;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyUnknownOutputPassingOption.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyUnknownOutputPassingOption.java
new file mode 100644
index 000000000000..51485d465ee0
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyPlayReadyUnknownOutputPassingOption.java
@@ -0,0 +1,59 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for ContentKeyPolicyPlayReadyUnknownOutputPassingOption.
+ */
+public enum ContentKeyPolicyPlayReadyUnknownOutputPassingOption {
+ /** Represents a ContentKeyPolicyPlayReadyUnknownOutputPassingOption that is unavailable in current API version. */
+ UNKNOWN("Unknown"),
+
+ /** Passing the video portion of protected content to an Unknown Output is not allowed. */
+ NOT_ALLOWED("NotAllowed"),
+
+ /** Passing the video portion of protected content to an Unknown Output is allowed. */
+ ALLOWED("Allowed"),
+
+ /** Passing the video portion of protected content to an Unknown Output is allowed but with constrained resolution. */
+ ALLOWED_WITH_VIDEO_CONSTRICTION("AllowedWithVideoConstriction");
+
+ /** The actual serialized value for a ContentKeyPolicyPlayReadyUnknownOutputPassingOption instance. */
+ private String value;
+
+ ContentKeyPolicyPlayReadyUnknownOutputPassingOption(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a ContentKeyPolicyPlayReadyUnknownOutputPassingOption instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed ContentKeyPolicyPlayReadyUnknownOutputPassingOption object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static ContentKeyPolicyPlayReadyUnknownOutputPassingOption fromString(String value) {
+ ContentKeyPolicyPlayReadyUnknownOutputPassingOption[] items = ContentKeyPolicyPlayReadyUnknownOutputPassingOption.values();
+ for (ContentKeyPolicyPlayReadyUnknownOutputPassingOption item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyProperties.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyProperties.java
new file mode 100644
index 000000000000..c38dee8fc852
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyProperties.java
@@ -0,0 +1,48 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.ContentKeyPolicyPropertiesInner;
+import org.joda.time.DateTime;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * Type representing ContentKeyPolicyProperties.
+ */
+public interface ContentKeyPolicyProperties extends HasInner, HasManager {
+ /**
+ * @return the created value.
+ */
+ DateTime created();
+
+ /**
+ * @return the description value.
+ */
+ String description();
+
+ /**
+ * @return the lastModified value.
+ */
+ DateTime lastModified();
+
+ /**
+ * @return the options value.
+ */
+ List options();
+
+ /**
+ * @return the policyId value.
+ */
+ UUID policyId();
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyRestriction.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyRestriction.java
new file mode 100644
index 000000000000..08344b5085c2
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyRestriction.java
@@ -0,0 +1,27 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Base class for Content Key Policy restrictions. A derived class must be used
+ * to create a restriction.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("ContentKeyPolicyRestriction")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ContentKeyPolicyOpenRestriction", value = ContentKeyPolicyOpenRestriction.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ContentKeyPolicyUnknownRestriction", value = ContentKeyPolicyUnknownRestriction.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ContentKeyPolicyTokenRestriction", value = ContentKeyPolicyTokenRestriction.class)
+})
+public class ContentKeyPolicyRestriction {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyRestrictionTokenKey.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyRestrictionTokenKey.java
new file mode 100644
index 000000000000..7787544ebea3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyRestrictionTokenKey.java
@@ -0,0 +1,27 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Base class for Content Key Policy key for token validation. A derived class
+ * must be used to create a token key.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("ContentKeyPolicyRestrictionTokenKey")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", value = ContentKeyPolicySymmetricTokenKey.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ContentKeyPolicyRsaTokenKey", value = ContentKeyPolicyRsaTokenKey.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ContentKeyPolicyX509CertificateTokenKey", value = ContentKeyPolicyX509CertificateTokenKey.class)
+})
+public class ContentKeyPolicyRestrictionTokenKey {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyRestrictionTokenType.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyRestrictionTokenType.java
new file mode 100644
index 000000000000..47db389c970f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyRestrictionTokenType.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for ContentKeyPolicyRestrictionTokenType.
+ */
+public enum ContentKeyPolicyRestrictionTokenType {
+ /** Represents a ContentKeyPolicyRestrictionTokenType that is unavailable in current API version. */
+ UNKNOWN("Unknown"),
+
+ /** Simple Web Token. */
+ SWT("Swt"),
+
+ /** JSON Web Token. */
+ JWT("Jwt");
+
+ /** The actual serialized value for a ContentKeyPolicyRestrictionTokenType instance. */
+ private String value;
+
+ ContentKeyPolicyRestrictionTokenType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a ContentKeyPolicyRestrictionTokenType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed ContentKeyPolicyRestrictionTokenType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static ContentKeyPolicyRestrictionTokenType fromString(String value) {
+ ContentKeyPolicyRestrictionTokenType[] items = ContentKeyPolicyRestrictionTokenType.values();
+ for (ContentKeyPolicyRestrictionTokenType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyRsaTokenKey.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyRsaTokenKey.java
new file mode 100644
index 000000000000..17351317bf75
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyRsaTokenKey.java
@@ -0,0 +1,73 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Specifies a RSA key for token validation.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ContentKeyPolicyRsaTokenKey")
+public class ContentKeyPolicyRsaTokenKey extends ContentKeyPolicyRestrictionTokenKey {
+ /**
+ * The RSA Parameter exponent.
+ */
+ @JsonProperty(value = "exponent", required = true)
+ private byte[] exponent;
+
+ /**
+ * The RSA Parameter modulus.
+ */
+ @JsonProperty(value = "modulus", required = true)
+ private byte[] modulus;
+
+ /**
+ * Get the RSA Parameter exponent.
+ *
+ * @return the exponent value
+ */
+ public byte[] exponent() {
+ return this.exponent;
+ }
+
+ /**
+ * Set the RSA Parameter exponent.
+ *
+ * @param exponent the exponent value to set
+ * @return the ContentKeyPolicyRsaTokenKey object itself.
+ */
+ public ContentKeyPolicyRsaTokenKey withExponent(byte[] exponent) {
+ this.exponent = exponent;
+ return this;
+ }
+
+ /**
+ * Get the RSA Parameter modulus.
+ *
+ * @return the modulus value
+ */
+ public byte[] modulus() {
+ return this.modulus;
+ }
+
+ /**
+ * Set the RSA Parameter modulus.
+ *
+ * @param modulus the modulus value to set
+ * @return the ContentKeyPolicyRsaTokenKey object itself.
+ */
+ public ContentKeyPolicyRsaTokenKey withModulus(byte[] modulus) {
+ this.modulus = modulus;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicySymmetricTokenKey.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicySymmetricTokenKey.java
new file mode 100644
index 000000000000..a59fef8bb0dd
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicySymmetricTokenKey.java
@@ -0,0 +1,47 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Specifies a symmetric key for token validation.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ContentKeyPolicySymmetricTokenKey")
+public class ContentKeyPolicySymmetricTokenKey extends ContentKeyPolicyRestrictionTokenKey {
+ /**
+ * The key value of the key.
+ */
+ @JsonProperty(value = "keyValue", required = true)
+ private byte[] keyValue;
+
+ /**
+ * Get the key value of the key.
+ *
+ * @return the keyValue value
+ */
+ public byte[] keyValue() {
+ return this.keyValue;
+ }
+
+ /**
+ * Set the key value of the key.
+ *
+ * @param keyValue the keyValue value to set
+ * @return the ContentKeyPolicySymmetricTokenKey object itself.
+ */
+ public ContentKeyPolicySymmetricTokenKey withKeyValue(byte[] keyValue) {
+ this.keyValue = keyValue;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyTokenClaim.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyTokenClaim.java
new file mode 100644
index 000000000000..05e76c4db778
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyTokenClaim.java
@@ -0,0 +1,69 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Represents a token claim.
+ */
+public class ContentKeyPolicyTokenClaim {
+ /**
+ * Token claim type.
+ */
+ @JsonProperty(value = "claimType")
+ private String claimType;
+
+ /**
+ * Token claim value.
+ */
+ @JsonProperty(value = "claimValue")
+ private String claimValue;
+
+ /**
+ * Get token claim type.
+ *
+ * @return the claimType value
+ */
+ public String claimType() {
+ return this.claimType;
+ }
+
+ /**
+ * Set token claim type.
+ *
+ * @param claimType the claimType value to set
+ * @return the ContentKeyPolicyTokenClaim object itself.
+ */
+ public ContentKeyPolicyTokenClaim withClaimType(String claimType) {
+ this.claimType = claimType;
+ return this;
+ }
+
+ /**
+ * Get token claim value.
+ *
+ * @return the claimValue value
+ */
+ public String claimValue() {
+ return this.claimValue;
+ }
+
+ /**
+ * Set token claim value.
+ *
+ * @param claimValue the claimValue value to set
+ * @return the ContentKeyPolicyTokenClaim object itself.
+ */
+ public ContentKeyPolicyTokenClaim withClaimValue(String claimValue) {
+ this.claimValue = claimValue;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyTokenRestriction.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyTokenRestriction.java
new file mode 100644
index 000000000000..0ff78798f609
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyTokenRestriction.java
@@ -0,0 +1,205 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Represents a token restriction. Provided token must match these requirements
+ * for successful license or key delivery.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ContentKeyPolicyTokenRestriction")
+public class ContentKeyPolicyTokenRestriction extends ContentKeyPolicyRestriction {
+ /**
+ * The token issuer.
+ */
+ @JsonProperty(value = "issuer", required = true)
+ private String issuer;
+
+ /**
+ * The audience for the token.
+ */
+ @JsonProperty(value = "audience", required = true)
+ private String audience;
+
+ /**
+ * The primary verification key.
+ */
+ @JsonProperty(value = "primaryVerificationKey", required = true)
+ private ContentKeyPolicyRestrictionTokenKey primaryVerificationKey;
+
+ /**
+ * A list of alternative verification keys.
+ */
+ @JsonProperty(value = "alternateVerificationKeys")
+ private List alternateVerificationKeys;
+
+ /**
+ * A list of required token claims.
+ */
+ @JsonProperty(value = "requiredClaims")
+ private List requiredClaims;
+
+ /**
+ * The type of token. Possible values include: 'Unknown', 'Swt', 'Jwt'.
+ */
+ @JsonProperty(value = "restrictionTokenType", required = true)
+ private ContentKeyPolicyRestrictionTokenType restrictionTokenType;
+
+ /**
+ * The OpenID connect discovery document.
+ */
+ @JsonProperty(value = "openIdConnectDiscoveryDocument")
+ private String openIdConnectDiscoveryDocument;
+
+ /**
+ * Get the token issuer.
+ *
+ * @return the issuer value
+ */
+ public String issuer() {
+ return this.issuer;
+ }
+
+ /**
+ * Set the token issuer.
+ *
+ * @param issuer the issuer value to set
+ * @return the ContentKeyPolicyTokenRestriction object itself.
+ */
+ public ContentKeyPolicyTokenRestriction withIssuer(String issuer) {
+ this.issuer = issuer;
+ return this;
+ }
+
+ /**
+ * Get the audience for the token.
+ *
+ * @return the audience value
+ */
+ public String audience() {
+ return this.audience;
+ }
+
+ /**
+ * Set the audience for the token.
+ *
+ * @param audience the audience value to set
+ * @return the ContentKeyPolicyTokenRestriction object itself.
+ */
+ public ContentKeyPolicyTokenRestriction withAudience(String audience) {
+ this.audience = audience;
+ return this;
+ }
+
+ /**
+ * Get the primary verification key.
+ *
+ * @return the primaryVerificationKey value
+ */
+ public ContentKeyPolicyRestrictionTokenKey primaryVerificationKey() {
+ return this.primaryVerificationKey;
+ }
+
+ /**
+ * Set the primary verification key.
+ *
+ * @param primaryVerificationKey the primaryVerificationKey value to set
+ * @return the ContentKeyPolicyTokenRestriction object itself.
+ */
+ public ContentKeyPolicyTokenRestriction withPrimaryVerificationKey(ContentKeyPolicyRestrictionTokenKey primaryVerificationKey) {
+ this.primaryVerificationKey = primaryVerificationKey;
+ return this;
+ }
+
+ /**
+ * Get a list of alternative verification keys.
+ *
+ * @return the alternateVerificationKeys value
+ */
+ public List alternateVerificationKeys() {
+ return this.alternateVerificationKeys;
+ }
+
+ /**
+ * Set a list of alternative verification keys.
+ *
+ * @param alternateVerificationKeys the alternateVerificationKeys value to set
+ * @return the ContentKeyPolicyTokenRestriction object itself.
+ */
+ public ContentKeyPolicyTokenRestriction withAlternateVerificationKeys(List alternateVerificationKeys) {
+ this.alternateVerificationKeys = alternateVerificationKeys;
+ return this;
+ }
+
+ /**
+ * Get a list of required token claims.
+ *
+ * @return the requiredClaims value
+ */
+ public List requiredClaims() {
+ return this.requiredClaims;
+ }
+
+ /**
+ * Set a list of required token claims.
+ *
+ * @param requiredClaims the requiredClaims value to set
+ * @return the ContentKeyPolicyTokenRestriction object itself.
+ */
+ public ContentKeyPolicyTokenRestriction withRequiredClaims(List requiredClaims) {
+ this.requiredClaims = requiredClaims;
+ return this;
+ }
+
+ /**
+ * Get the type of token. Possible values include: 'Unknown', 'Swt', 'Jwt'.
+ *
+ * @return the restrictionTokenType value
+ */
+ public ContentKeyPolicyRestrictionTokenType restrictionTokenType() {
+ return this.restrictionTokenType;
+ }
+
+ /**
+ * Set the type of token. Possible values include: 'Unknown', 'Swt', 'Jwt'.
+ *
+ * @param restrictionTokenType the restrictionTokenType value to set
+ * @return the ContentKeyPolicyTokenRestriction object itself.
+ */
+ public ContentKeyPolicyTokenRestriction withRestrictionTokenType(ContentKeyPolicyRestrictionTokenType restrictionTokenType) {
+ this.restrictionTokenType = restrictionTokenType;
+ return this;
+ }
+
+ /**
+ * Get the OpenID connect discovery document.
+ *
+ * @return the openIdConnectDiscoveryDocument value
+ */
+ public String openIdConnectDiscoveryDocument() {
+ return this.openIdConnectDiscoveryDocument;
+ }
+
+ /**
+ * Set the OpenID connect discovery document.
+ *
+ * @param openIdConnectDiscoveryDocument the openIdConnectDiscoveryDocument value to set
+ * @return the ContentKeyPolicyTokenRestriction object itself.
+ */
+ public ContentKeyPolicyTokenRestriction withOpenIdConnectDiscoveryDocument(String openIdConnectDiscoveryDocument) {
+ this.openIdConnectDiscoveryDocument = openIdConnectDiscoveryDocument;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyUnknownConfiguration.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyUnknownConfiguration.java
new file mode 100644
index 000000000000..789867eb0cbd
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyUnknownConfiguration.java
@@ -0,0 +1,21 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Represents a ContentKeyPolicyConfiguration that is unavailable in the
+ * current API version.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ContentKeyPolicyUnknownConfiguration")
+public class ContentKeyPolicyUnknownConfiguration extends ContentKeyPolicyConfiguration {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyUnknownRestriction.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyUnknownRestriction.java
new file mode 100644
index 000000000000..380053ec7074
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyUnknownRestriction.java
@@ -0,0 +1,21 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Represents a ContentKeyPolicyRestriction that is unavailable in the current
+ * API version.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ContentKeyPolicyUnknownRestriction")
+public class ContentKeyPolicyUnknownRestriction extends ContentKeyPolicyRestriction {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyWidevineConfiguration.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyWidevineConfiguration.java
new file mode 100644
index 000000000000..71ab8635eefa
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyWidevineConfiguration.java
@@ -0,0 +1,47 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Specifies a configuration for Widevine licenses.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ContentKeyPolicyWidevineConfiguration")
+public class ContentKeyPolicyWidevineConfiguration extends ContentKeyPolicyConfiguration {
+ /**
+ * The Widevine template.
+ */
+ @JsonProperty(value = "widevineTemplate", required = true)
+ private String widevineTemplate;
+
+ /**
+ * Get the Widevine template.
+ *
+ * @return the widevineTemplate value
+ */
+ public String widevineTemplate() {
+ return this.widevineTemplate;
+ }
+
+ /**
+ * Set the Widevine template.
+ *
+ * @param widevineTemplate the widevineTemplate value to set
+ * @return the ContentKeyPolicyWidevineConfiguration object itself.
+ */
+ public ContentKeyPolicyWidevineConfiguration withWidevineTemplate(String widevineTemplate) {
+ this.widevineTemplate = widevineTemplate;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyX509CertificateTokenKey.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyX509CertificateTokenKey.java
new file mode 100644
index 000000000000..297df2d5f798
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ContentKeyPolicyX509CertificateTokenKey.java
@@ -0,0 +1,48 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Specifies a certificate for token validation.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ContentKeyPolicyX509CertificateTokenKey")
+public class ContentKeyPolicyX509CertificateTokenKey extends ContentKeyPolicyRestrictionTokenKey {
+ /**
+ * The raw data field of a certificate in PKCS 12 format (X509Certificate2
+ * in .NET).
+ */
+ @JsonProperty(value = "rawBody", required = true)
+ private byte[] rawBody;
+
+ /**
+ * Get the raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET).
+ *
+ * @return the rawBody value
+ */
+ public byte[] rawBody() {
+ return this.rawBody;
+ }
+
+ /**
+ * Set the raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET).
+ *
+ * @param rawBody the rawBody value to set
+ * @return the ContentKeyPolicyX509CertificateTokenKey object itself.
+ */
+ public ContentKeyPolicyX509CertificateTokenKey withRawBody(byte[] rawBody) {
+ this.rawBody = rawBody;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CopyAudio.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CopyAudio.java
new file mode 100644
index 000000000000..2408271aca29
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CopyAudio.java
@@ -0,0 +1,20 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A codec flag, which tells the encoder to copy the input audio bitstream.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.CopyAudio")
+public class CopyAudio extends Codec {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CopyVideo.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CopyVideo.java
new file mode 100644
index 000000000000..87fd4c4758df
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CopyVideo.java
@@ -0,0 +1,21 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A codec flag, which tells the encoder to copy the input video bitstream
+ * without re-encoding.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.CopyVideo")
+public class CopyVideo extends Codec {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CrossSiteAccessPolicies.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CrossSiteAccessPolicies.java
new file mode 100644
index 000000000000..f5a4633fa5c2
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/CrossSiteAccessPolicies.java
@@ -0,0 +1,69 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The client access policy.
+ */
+public class CrossSiteAccessPolicies {
+ /**
+ * The content of clientaccesspolicy.xml used by Silverlight.
+ */
+ @JsonProperty(value = "clientAccessPolicy")
+ private String clientAccessPolicy;
+
+ /**
+ * The content of crossdomain.xml used by Silverlight.
+ */
+ @JsonProperty(value = "crossDomainPolicy")
+ private String crossDomainPolicy;
+
+ /**
+ * Get the content of clientaccesspolicy.xml used by Silverlight.
+ *
+ * @return the clientAccessPolicy value
+ */
+ public String clientAccessPolicy() {
+ return this.clientAccessPolicy;
+ }
+
+ /**
+ * Set the content of clientaccesspolicy.xml used by Silverlight.
+ *
+ * @param clientAccessPolicy the clientAccessPolicy value to set
+ * @return the CrossSiteAccessPolicies object itself.
+ */
+ public CrossSiteAccessPolicies withClientAccessPolicy(String clientAccessPolicy) {
+ this.clientAccessPolicy = clientAccessPolicy;
+ return this;
+ }
+
+ /**
+ * Get the content of crossdomain.xml used by Silverlight.
+ *
+ * @return the crossDomainPolicy value
+ */
+ public String crossDomainPolicy() {
+ return this.crossDomainPolicy;
+ }
+
+ /**
+ * Set the content of crossdomain.xml used by Silverlight.
+ *
+ * @param crossDomainPolicy the crossDomainPolicy value to set
+ * @return the CrossSiteAccessPolicies object itself.
+ */
+ public CrossSiteAccessPolicies withCrossDomainPolicy(String crossDomainPolicy) {
+ this.crossDomainPolicy = crossDomainPolicy;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/DefaultKey.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/DefaultKey.java
new file mode 100644
index 000000000000..5ad5ac32cd5d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/DefaultKey.java
@@ -0,0 +1,71 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class to specify properties of default content key for each encryption
+ * scheme.
+ */
+public class DefaultKey {
+ /**
+ * Label can be used to specify Content Key when creating a Streaming
+ * Locator.
+ */
+ @JsonProperty(value = "label")
+ private String label;
+
+ /**
+ * Policy used by Default Key.
+ */
+ @JsonProperty(value = "policyName")
+ private String policyName;
+
+ /**
+ * Get label can be used to specify Content Key when creating a Streaming Locator.
+ *
+ * @return the label value
+ */
+ public String label() {
+ return this.label;
+ }
+
+ /**
+ * Set label can be used to specify Content Key when creating a Streaming Locator.
+ *
+ * @param label the label value to set
+ * @return the DefaultKey object itself.
+ */
+ public DefaultKey withLabel(String label) {
+ this.label = label;
+ return this;
+ }
+
+ /**
+ * Get policy used by Default Key.
+ *
+ * @return the policyName value
+ */
+ public String policyName() {
+ return this.policyName;
+ }
+
+ /**
+ * Set policy used by Default Key.
+ *
+ * @param policyName the policyName value to set
+ * @return the DefaultKey object itself.
+ */
+ public DefaultKey withPolicyName(String policyName) {
+ this.policyName = policyName;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Deinterlace.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Deinterlace.java
new file mode 100644
index 000000000000..dce6fcd89df6
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Deinterlace.java
@@ -0,0 +1,71 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Describes the de-interlacing settings.
+ */
+public class Deinterlace {
+ /**
+ * The field parity for de-interlacing, defaults to Auto. Possible values
+ * include: 'Auto', 'TopFieldFirst', 'BottomFieldFirst'.
+ */
+ @JsonProperty(value = "parity")
+ private DeinterlaceParity parity;
+
+ /**
+ * The deinterlacing mode. Defaults to AutoPixelAdaptive. Possible values
+ * include: 'Off', 'AutoPixelAdaptive'.
+ */
+ @JsonProperty(value = "mode")
+ private DeinterlaceMode mode;
+
+ /**
+ * Get the field parity for de-interlacing, defaults to Auto. Possible values include: 'Auto', 'TopFieldFirst', 'BottomFieldFirst'.
+ *
+ * @return the parity value
+ */
+ public DeinterlaceParity parity() {
+ return this.parity;
+ }
+
+ /**
+ * Set the field parity for de-interlacing, defaults to Auto. Possible values include: 'Auto', 'TopFieldFirst', 'BottomFieldFirst'.
+ *
+ * @param parity the parity value to set
+ * @return the Deinterlace object itself.
+ */
+ public Deinterlace withParity(DeinterlaceParity parity) {
+ this.parity = parity;
+ return this;
+ }
+
+ /**
+ * Get the deinterlacing mode. Defaults to AutoPixelAdaptive. Possible values include: 'Off', 'AutoPixelAdaptive'.
+ *
+ * @return the mode value
+ */
+ public DeinterlaceMode mode() {
+ return this.mode;
+ }
+
+ /**
+ * Set the deinterlacing mode. Defaults to AutoPixelAdaptive. Possible values include: 'Off', 'AutoPixelAdaptive'.
+ *
+ * @param mode the mode value to set
+ * @return the Deinterlace object itself.
+ */
+ public Deinterlace withMode(DeinterlaceMode mode) {
+ this.mode = mode;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/DeinterlaceMode.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/DeinterlaceMode.java
new file mode 100644
index 000000000000..5a1ef00070a6
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/DeinterlaceMode.java
@@ -0,0 +1,53 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for DeinterlaceMode.
+ */
+public enum DeinterlaceMode {
+ /** Disables de-interlacing of the source video. */
+ OFF("Off"),
+
+ /** Apply automatic pixel adaptive de-interlacing on each frame in the input video. */
+ AUTO_PIXEL_ADAPTIVE("AutoPixelAdaptive");
+
+ /** The actual serialized value for a DeinterlaceMode instance. */
+ private String value;
+
+ DeinterlaceMode(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a DeinterlaceMode instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed DeinterlaceMode object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static DeinterlaceMode fromString(String value) {
+ DeinterlaceMode[] items = DeinterlaceMode.values();
+ for (DeinterlaceMode item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/DeinterlaceParity.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/DeinterlaceParity.java
new file mode 100644
index 000000000000..60e6c71eb91d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/DeinterlaceParity.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for DeinterlaceParity.
+ */
+public enum DeinterlaceParity {
+ /** Automatically detect the order of fields. */
+ AUTO("Auto"),
+
+ /** Apply top field first processing of input video. */
+ TOP_FIELD_FIRST("TopFieldFirst"),
+
+ /** Apply bottom field first processing of input video. */
+ BOTTOM_FIELD_FIRST("BottomFieldFirst");
+
+ /** The actual serialized value for a DeinterlaceParity instance. */
+ private String value;
+
+ DeinterlaceParity(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a DeinterlaceParity instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed DeinterlaceParity object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static DeinterlaceParity fromString(String value) {
+ DeinterlaceParity[] items = DeinterlaceParity.values();
+ for (DeinterlaceParity item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EnabledProtocols.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EnabledProtocols.java
new file mode 100644
index 000000000000..def04c72f0bb
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EnabledProtocols.java
@@ -0,0 +1,121 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class to specify which protocols are enabled.
+ */
+public class EnabledProtocols {
+ /**
+ * Enable Download protocol or not.
+ */
+ @JsonProperty(value = "download", required = true)
+ private boolean download;
+
+ /**
+ * Enable DASH protocol or not.
+ */
+ @JsonProperty(value = "dash", required = true)
+ private boolean dash;
+
+ /**
+ * Enable HLS protocol or not.
+ */
+ @JsonProperty(value = "hls", required = true)
+ private boolean hls;
+
+ /**
+ * Enable SmoothStreaming protocol or not.
+ */
+ @JsonProperty(value = "smoothStreaming", required = true)
+ private boolean smoothStreaming;
+
+ /**
+ * Get enable Download protocol or not.
+ *
+ * @return the download value
+ */
+ public boolean download() {
+ return this.download;
+ }
+
+ /**
+ * Set enable Download protocol or not.
+ *
+ * @param download the download value to set
+ * @return the EnabledProtocols object itself.
+ */
+ public EnabledProtocols withDownload(boolean download) {
+ this.download = download;
+ return this;
+ }
+
+ /**
+ * Get enable DASH protocol or not.
+ *
+ * @return the dash value
+ */
+ public boolean dash() {
+ return this.dash;
+ }
+
+ /**
+ * Set enable DASH protocol or not.
+ *
+ * @param dash the dash value to set
+ * @return the EnabledProtocols object itself.
+ */
+ public EnabledProtocols withDash(boolean dash) {
+ this.dash = dash;
+ return this;
+ }
+
+ /**
+ * Get enable HLS protocol or not.
+ *
+ * @return the hls value
+ */
+ public boolean hls() {
+ return this.hls;
+ }
+
+ /**
+ * Set enable HLS protocol or not.
+ *
+ * @param hls the hls value to set
+ * @return the EnabledProtocols object itself.
+ */
+ public EnabledProtocols withHls(boolean hls) {
+ this.hls = hls;
+ return this;
+ }
+
+ /**
+ * Get enable SmoothStreaming protocol or not.
+ *
+ * @return the smoothStreaming value
+ */
+ public boolean smoothStreaming() {
+ return this.smoothStreaming;
+ }
+
+ /**
+ * Set enable SmoothStreaming protocol or not.
+ *
+ * @param smoothStreaming the smoothStreaming value to set
+ * @return the EnabledProtocols object itself.
+ */
+ public EnabledProtocols withSmoothStreaming(boolean smoothStreaming) {
+ this.smoothStreaming = smoothStreaming;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EncoderNamedPreset.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EncoderNamedPreset.java
new file mode 100644
index 000000000000..a6612f689694
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EncoderNamedPreset.java
@@ -0,0 +1,71 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for EncoderNamedPreset.
+ */
+public enum EncoderNamedPreset {
+ /** Produces an MP4 file where the video is encoded with H.264 codec at 2200 kbps and a picture height of 480 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps. */
+ H264SINGLE_BITRATE_SD("H264SingleBitrateSD"),
+
+ /** Produces an MP4 file where the video is encoded with H.264 codec at 4500 kbps and a picture height of 720 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps. */
+ H264SINGLE_BITRATE720P("H264SingleBitrate720p"),
+
+ /** Produces an MP4 file where the video is encoded with H.264 codec at 6750 kbps and a picture height of 1080 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps. */
+ H264SINGLE_BITRATE1080P("H264SingleBitrate1080p"),
+
+ /** Produces a set of GOP aligned MP4 files with H.264 video and stereo AAC audio. Auto-generates a bitrate ladder based on the input resolution and bitrate. The auto-generated preset will never exceed the input resolution and bitrate. For example, if the input is 720p at 3 Mbps, output will remain 720p at best, and will start at rates lower than 3 Mbps. The output will will have video and audio in separate MP4 files, which is optimal for adaptive streaming. */
+ ADAPTIVE_STREAMING("AdaptiveStreaming"),
+
+ /** Produces a single MP4 file containing only stereo audio encoded at 192 kbps. */
+ AACGOOD_QUALITY_AUDIO("AACGoodQualityAudio"),
+
+ /** Produces a set of 8 GOP-aligned MP4 files, ranging from 6000 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 1080p and goes down to 360p. */
+ H264MULTIPLE_BITRATE1080P("H264MultipleBitrate1080p"),
+
+ /** Produces a set of 6 GOP-aligned MP4 files, ranging from 3400 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 720p and goes down to 360p. */
+ H264MULTIPLE_BITRATE720P("H264MultipleBitrate720p"),
+
+ /** Produces a set of 5 GOP-aligned MP4 files, ranging from 1600kbps to 400 kbps, and stereo AAC audio. Resolution starts at 480p and goes down to 360p. */
+ H264MULTIPLE_BITRATE_SD("H264MultipleBitrateSD");
+
+ /** The actual serialized value for a EncoderNamedPreset instance. */
+ private String value;
+
+ EncoderNamedPreset(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a EncoderNamedPreset instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed EncoderNamedPreset object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static EncoderNamedPreset fromString(String value) {
+ EncoderNamedPreset[] items = EncoderNamedPreset.values();
+ for (EncoderNamedPreset item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EncryptionScheme.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EncryptionScheme.java
new file mode 100644
index 000000000000..098dfe82f958
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EncryptionScheme.java
@@ -0,0 +1,59 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for EncryptionScheme.
+ */
+public enum EncryptionScheme {
+ /** NoEncryption scheme. */
+ NO_ENCRYPTION("NoEncryption"),
+
+ /** EnvelopeEncryption scheme. */
+ ENVELOPE_ENCRYPTION("EnvelopeEncryption"),
+
+ /** CommonEncryptionCenc scheme. */
+ COMMON_ENCRYPTION_CENC("CommonEncryptionCenc"),
+
+ /** CommonEncryptionCbcs scheme. */
+ COMMON_ENCRYPTION_CBCS("CommonEncryptionCbcs");
+
+ /** The actual serialized value for a EncryptionScheme instance. */
+ private String value;
+
+ EncryptionScheme(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a EncryptionScheme instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed EncryptionScheme object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static EncryptionScheme fromString(String value) {
+ EncryptionScheme[] items = EncryptionScheme.values();
+ for (EncryptionScheme item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EntityNameAvailabilityCheckOutput.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EntityNameAvailabilityCheckOutput.java
new file mode 100644
index 000000000000..8c096ad42aa9
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EntityNameAvailabilityCheckOutput.java
@@ -0,0 +1,35 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.EntityNameAvailabilityCheckOutputInner;
+
+/**
+ * Type representing EntityNameAvailabilityCheckOutput.
+ */
+public interface EntityNameAvailabilityCheckOutput extends HasInner, HasManager {
+ /**
+ * @return the message value.
+ */
+ String message();
+
+ /**
+ * @return the nameAvailable value.
+ */
+ boolean nameAvailable();
+
+ /**
+ * @return the reason value.
+ */
+ String reason();
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EntropyMode.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EntropyMode.java
new file mode 100644
index 000000000000..bc6c28e73a82
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EntropyMode.java
@@ -0,0 +1,53 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for EntropyMode.
+ */
+public enum EntropyMode {
+ /** Context Adaptive Binary Arithmetic Coder (CABAC) entropy encoding. */
+ CABAC("Cabac"),
+
+ /** Context Adaptive Variable Length Coder (CAVLC) entropy encoding. */
+ CAVLC("Cavlc");
+
+ /** The actual serialized value for a EntropyMode instance. */
+ private String value;
+
+ EntropyMode(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a EntropyMode instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed EntropyMode object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static EntropyMode fromString(String value) {
+ EntropyMode[] items = EntropyMode.values();
+ for (EntropyMode item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EnvelopeEncryption.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EnvelopeEncryption.java
new file mode 100644
index 000000000000..df5a9118ee2a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/EnvelopeEncryption.java
@@ -0,0 +1,124 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class for EnvelopeEncryption encryption scheme.
+ */
+public class EnvelopeEncryption {
+ /**
+ * Representing supported protocols.
+ */
+ @JsonProperty(value = "enabledProtocols")
+ private EnabledProtocols enabledProtocols;
+
+ /**
+ * Representing which tracks should not be encrypted.
+ */
+ @JsonProperty(value = "clearTracks")
+ private List clearTracks;
+
+ /**
+ * Representing default content key for each encryption scheme and separate
+ * content keys for specific tracks.
+ */
+ @JsonProperty(value = "contentKeys")
+ private StreamingPolicyContentKeys contentKeys;
+
+ /**
+ * KeyAcquistionUrlTemplate is used to point to user specified service to
+ * delivery content keys.
+ */
+ @JsonProperty(value = "customKeyAcquisitionUrlTemplate")
+ private String customKeyAcquisitionUrlTemplate;
+
+ /**
+ * Get representing supported protocols.
+ *
+ * @return the enabledProtocols value
+ */
+ public EnabledProtocols enabledProtocols() {
+ return this.enabledProtocols;
+ }
+
+ /**
+ * Set representing supported protocols.
+ *
+ * @param enabledProtocols the enabledProtocols value to set
+ * @return the EnvelopeEncryption object itself.
+ */
+ public EnvelopeEncryption withEnabledProtocols(EnabledProtocols enabledProtocols) {
+ this.enabledProtocols = enabledProtocols;
+ return this;
+ }
+
+ /**
+ * Get representing which tracks should not be encrypted.
+ *
+ * @return the clearTracks value
+ */
+ public List clearTracks() {
+ return this.clearTracks;
+ }
+
+ /**
+ * Set representing which tracks should not be encrypted.
+ *
+ * @param clearTracks the clearTracks value to set
+ * @return the EnvelopeEncryption object itself.
+ */
+ public EnvelopeEncryption withClearTracks(List clearTracks) {
+ this.clearTracks = clearTracks;
+ return this;
+ }
+
+ /**
+ * Get representing default content key for each encryption scheme and separate content keys for specific tracks.
+ *
+ * @return the contentKeys value
+ */
+ public StreamingPolicyContentKeys contentKeys() {
+ return this.contentKeys;
+ }
+
+ /**
+ * Set representing default content key for each encryption scheme and separate content keys for specific tracks.
+ *
+ * @param contentKeys the contentKeys value to set
+ * @return the EnvelopeEncryption object itself.
+ */
+ public EnvelopeEncryption withContentKeys(StreamingPolicyContentKeys contentKeys) {
+ this.contentKeys = contentKeys;
+ return this;
+ }
+
+ /**
+ * Get keyAcquistionUrlTemplate is used to point to user specified service to delivery content keys.
+ *
+ * @return the customKeyAcquisitionUrlTemplate value
+ */
+ public String customKeyAcquisitionUrlTemplate() {
+ return this.customKeyAcquisitionUrlTemplate;
+ }
+
+ /**
+ * Set keyAcquistionUrlTemplate is used to point to user specified service to delivery content keys.
+ *
+ * @param customKeyAcquisitionUrlTemplate the customKeyAcquisitionUrlTemplate value to set
+ * @return the EnvelopeEncryption object itself.
+ */
+ public EnvelopeEncryption withCustomKeyAcquisitionUrlTemplate(String customKeyAcquisitionUrlTemplate) {
+ this.customKeyAcquisitionUrlTemplate = customKeyAcquisitionUrlTemplate;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FilterTrackPropertyCompareOperation.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FilterTrackPropertyCompareOperation.java
new file mode 100644
index 000000000000..a4bcf8b0cbd7
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FilterTrackPropertyCompareOperation.java
@@ -0,0 +1,53 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for FilterTrackPropertyCompareOperation.
+ */
+public enum FilterTrackPropertyCompareOperation {
+ /** The equal operation. */
+ EQUAL("Equal"),
+
+ /** The not equal operation. */
+ NOT_EQUAL("NotEqual");
+
+ /** The actual serialized value for a FilterTrackPropertyCompareOperation instance. */
+ private String value;
+
+ FilterTrackPropertyCompareOperation(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a FilterTrackPropertyCompareOperation instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed FilterTrackPropertyCompareOperation object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static FilterTrackPropertyCompareOperation fromString(String value) {
+ FilterTrackPropertyCompareOperation[] items = FilterTrackPropertyCompareOperation.values();
+ for (FilterTrackPropertyCompareOperation item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FilterTrackPropertyCondition.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FilterTrackPropertyCondition.java
new file mode 100644
index 000000000000..1e0b4b315e76
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FilterTrackPropertyCondition.java
@@ -0,0 +1,97 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The class to specify one track property condition.
+ */
+public class FilterTrackPropertyCondition {
+ /**
+ * The track property type. Possible values include: 'Unknown', 'Type',
+ * 'Name', 'Language', 'FourCC', 'Bitrate'.
+ */
+ @JsonProperty(value = "property", required = true)
+ private FilterTrackPropertyType property;
+
+ /**
+ * The track proprty value.
+ */
+ @JsonProperty(value = "value", required = true)
+ private String value;
+
+ /**
+ * The track property condition operation. Possible values include:
+ * 'Equal', 'NotEqual'.
+ */
+ @JsonProperty(value = "operation", required = true)
+ private FilterTrackPropertyCompareOperation operation;
+
+ /**
+ * Get the track property type. Possible values include: 'Unknown', 'Type', 'Name', 'Language', 'FourCC', 'Bitrate'.
+ *
+ * @return the property value
+ */
+ public FilterTrackPropertyType property() {
+ return this.property;
+ }
+
+ /**
+ * Set the track property type. Possible values include: 'Unknown', 'Type', 'Name', 'Language', 'FourCC', 'Bitrate'.
+ *
+ * @param property the property value to set
+ * @return the FilterTrackPropertyCondition object itself.
+ */
+ public FilterTrackPropertyCondition withProperty(FilterTrackPropertyType property) {
+ this.property = property;
+ return this;
+ }
+
+ /**
+ * Get the track proprty value.
+ *
+ * @return the value value
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the track proprty value.
+ *
+ * @param value the value value to set
+ * @return the FilterTrackPropertyCondition object itself.
+ */
+ public FilterTrackPropertyCondition withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the track property condition operation. Possible values include: 'Equal', 'NotEqual'.
+ *
+ * @return the operation value
+ */
+ public FilterTrackPropertyCompareOperation operation() {
+ return this.operation;
+ }
+
+ /**
+ * Set the track property condition operation. Possible values include: 'Equal', 'NotEqual'.
+ *
+ * @param operation the operation value to set
+ * @return the FilterTrackPropertyCondition object itself.
+ */
+ public FilterTrackPropertyCondition withOperation(FilterTrackPropertyCompareOperation operation) {
+ this.operation = operation;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FilterTrackPropertyType.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FilterTrackPropertyType.java
new file mode 100644
index 000000000000..1684ff394bd4
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FilterTrackPropertyType.java
@@ -0,0 +1,65 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for FilterTrackPropertyType.
+ */
+public enum FilterTrackPropertyType {
+ /** The unknown track property type. */
+ UNKNOWN("Unknown"),
+
+ /** The type. */
+ TYPE("Type"),
+
+ /** The name. */
+ NAME("Name"),
+
+ /** The language. */
+ LANGUAGE("Language"),
+
+ /** The fourCC. */
+ FOUR_CC("FourCC"),
+
+ /** The bitrate. */
+ BITRATE("Bitrate");
+
+ /** The actual serialized value for a FilterTrackPropertyType instance. */
+ private String value;
+
+ FilterTrackPropertyType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a FilterTrackPropertyType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed FilterTrackPropertyType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static FilterTrackPropertyType fromString(String value) {
+ FilterTrackPropertyType[] items = FilterTrackPropertyType.values();
+ for (FilterTrackPropertyType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FilterTrackSelection.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FilterTrackSelection.java
new file mode 100644
index 000000000000..8f01d125d797
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FilterTrackSelection.java
@@ -0,0 +1,45 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Representing a list of FilterTrackPropertyConditions to select a track. The
+ * filters are combined using a logical AND operation.
+ */
+public class FilterTrackSelection {
+ /**
+ * The track selections.
+ */
+ @JsonProperty(value = "trackSelections", required = true)
+ private List trackSelections;
+
+ /**
+ * Get the track selections.
+ *
+ * @return the trackSelections value
+ */
+ public List trackSelections() {
+ return this.trackSelections;
+ }
+
+ /**
+ * Set the track selections.
+ *
+ * @param trackSelections the trackSelections value to set
+ * @return the FilterTrackSelection object itself.
+ */
+ public FilterTrackSelection withTrackSelections(List trackSelections) {
+ this.trackSelections = trackSelections;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Filters.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Filters.java
new file mode 100644
index 000000000000..741b644eb11c
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Filters.java
@@ -0,0 +1,127 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Describes all the filtering operations, such as de-interlacing, rotation
+ * etc. that are to be applied to the input media before encoding.
+ */
+public class Filters {
+ /**
+ * The de-interlacing settings.
+ */
+ @JsonProperty(value = "deinterlace")
+ private Deinterlace deinterlace;
+
+ /**
+ * The rotation, if any, to be applied to the input video, before it is
+ * encoded. Default is Auto. Possible values include: 'Auto', 'None',
+ * 'Rotate0', 'Rotate90', 'Rotate180', 'Rotate270'.
+ */
+ @JsonProperty(value = "rotation")
+ private Rotation rotation;
+
+ /**
+ * The parameters for the rectangular window with which to crop the input
+ * video.
+ */
+ @JsonProperty(value = "crop")
+ private Rectangle crop;
+
+ /**
+ * The properties of overlays to be applied to the input video. These could
+ * be audio, image or video overlays.
+ */
+ @JsonProperty(value = "overlays")
+ private List overlays;
+
+ /**
+ * Get the de-interlacing settings.
+ *
+ * @return the deinterlace value
+ */
+ public Deinterlace deinterlace() {
+ return this.deinterlace;
+ }
+
+ /**
+ * Set the de-interlacing settings.
+ *
+ * @param deinterlace the deinterlace value to set
+ * @return the Filters object itself.
+ */
+ public Filters withDeinterlace(Deinterlace deinterlace) {
+ this.deinterlace = deinterlace;
+ return this;
+ }
+
+ /**
+ * Get the rotation, if any, to be applied to the input video, before it is encoded. Default is Auto. Possible values include: 'Auto', 'None', 'Rotate0', 'Rotate90', 'Rotate180', 'Rotate270'.
+ *
+ * @return the rotation value
+ */
+ public Rotation rotation() {
+ return this.rotation;
+ }
+
+ /**
+ * Set the rotation, if any, to be applied to the input video, before it is encoded. Default is Auto. Possible values include: 'Auto', 'None', 'Rotate0', 'Rotate90', 'Rotate180', 'Rotate270'.
+ *
+ * @param rotation the rotation value to set
+ * @return the Filters object itself.
+ */
+ public Filters withRotation(Rotation rotation) {
+ this.rotation = rotation;
+ return this;
+ }
+
+ /**
+ * Get the parameters for the rectangular window with which to crop the input video.
+ *
+ * @return the crop value
+ */
+ public Rectangle crop() {
+ return this.crop;
+ }
+
+ /**
+ * Set the parameters for the rectangular window with which to crop the input video.
+ *
+ * @param crop the crop value to set
+ * @return the Filters object itself.
+ */
+ public Filters withCrop(Rectangle crop) {
+ this.crop = crop;
+ return this;
+ }
+
+ /**
+ * Get the properties of overlays to be applied to the input video. These could be audio, image or video overlays.
+ *
+ * @return the overlays value
+ */
+ public List overlays() {
+ return this.overlays;
+ }
+
+ /**
+ * Set the properties of overlays to be applied to the input video. These could be audio, image or video overlays.
+ *
+ * @param overlays the overlays value to set
+ * @return the Filters object itself.
+ */
+ public Filters withOverlays(List overlays) {
+ this.overlays = overlays;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FirstQuality.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FirstQuality.java
new file mode 100644
index 000000000000..381834909641
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/FirstQuality.java
@@ -0,0 +1,43 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Filter First Quality.
+ */
+public class FirstQuality {
+ /**
+ * The first quality bitrate.
+ */
+ @JsonProperty(value = "bitrate", required = true)
+ private int bitrate;
+
+ /**
+ * Get the first quality bitrate.
+ *
+ * @return the bitrate value
+ */
+ public int bitrate() {
+ return this.bitrate;
+ }
+
+ /**
+ * Set the first quality bitrate.
+ *
+ * @param bitrate the bitrate value to set
+ * @return the FirstQuality object itself.
+ */
+ public FirstQuality withBitrate(int bitrate) {
+ this.bitrate = bitrate;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Format.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Format.java
new file mode 100644
index 000000000000..79563db7ba57
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Format.java
@@ -0,0 +1,59 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Base class for output.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("Format")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.ImageFormat", value = ImageFormat.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.MultiBitrateFormat", value = MultiBitrateFormat.class)
+})
+public class Format {
+ /**
+ * The pattern of the file names for the generated output files. The
+ * following macros are supported in the file name: {Basename} - The base
+ * name of the input video {Extension} - The appropriate extension for this
+ * format. {Label} - The label assigned to the codec/layer. {Index} - A
+ * unique index for thumbnails. Only applicable to thumbnails. {Bitrate} -
+ * The audio/video bitrate. Not applicable to thumbnails. {Codec} - The
+ * type of the audio/video codec. Any unsubstituted macros will be
+ * collapsed and removed from the filename.
+ */
+ @JsonProperty(value = "filenamePattern")
+ private String filenamePattern;
+
+ /**
+ * Get the pattern of the file names for the generated output files. The following macros are supported in the file name: {Basename} - The base name of the input video {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted macros will be collapsed and removed from the filename.
+ *
+ * @return the filenamePattern value
+ */
+ public String filenamePattern() {
+ return this.filenamePattern;
+ }
+
+ /**
+ * Set the pattern of the file names for the generated output files. The following macros are supported in the file name: {Basename} - The base name of the input video {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted macros will be collapsed and removed from the filename.
+ *
+ * @param filenamePattern the filenamePattern value to set
+ * @return the Format object itself.
+ */
+ public Format withFilenamePattern(String filenamePattern) {
+ this.filenamePattern = filenamePattern;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/H264Complexity.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/H264Complexity.java
new file mode 100644
index 000000000000..e11f78b3dc9b
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/H264Complexity.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for H264Complexity.
+ */
+public enum H264Complexity {
+ /** Tells the encoder to use settings that are optimized for faster encoding. Quality is sacrificed to decrease encoding time. */
+ SPEED("Speed"),
+
+ /** Tells the encoder to use settings that achieve a balance between speed and quality. */
+ BALANCED("Balanced"),
+
+ /** Tells the encoder to use settings that are optimized to produce higher quality output at the expense of slower overall encode time. */
+ QUALITY("Quality");
+
+ /** The actual serialized value for a H264Complexity instance. */
+ private String value;
+
+ H264Complexity(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a H264Complexity instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed H264Complexity object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static H264Complexity fromString(String value) {
+ H264Complexity[] items = H264Complexity.values();
+ for (H264Complexity item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/H264Layer.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/H264Layer.java
new file mode 100644
index 000000000000..6ccbf112cb02
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/H264Layer.java
@@ -0,0 +1,164 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import org.joda.time.Period;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes the settings to be used when encoding the input video into a
+ * desired output bitrate layer with the H.264 video codec.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.H264Layer")
+public class H264Layer extends VideoLayer {
+ /**
+ * Which profile of the H.264 standard should be used when encoding this
+ * layer. Default is Auto. Possible values include: 'Auto', 'Baseline',
+ * 'Main', 'High', 'High422', 'High444'.
+ */
+ @JsonProperty(value = "profile")
+ private H264VideoProfile profile;
+
+ /**
+ * Which level of the H.264 standard should be used when encoding this
+ * layer. The value can be Auto, or a number that matches the H.264
+ * profile. If not specified, the default is Auto, which lets the encoder
+ * choose the Level that is appropriate for this layer.
+ */
+ @JsonProperty(value = "level")
+ private String level;
+
+ /**
+ * The VBV buffer window length. The value should be in ISO 8601 format.
+ * The value should be in the range [0.1-100] seconds. The default is 5
+ * seconds (for example, PT5S).
+ */
+ @JsonProperty(value = "bufferWindow")
+ private Period bufferWindow;
+
+ /**
+ * The number of reference frames to be used when encoding this layer. If
+ * not specified, the encoder determines an appropriate number based on the
+ * encoder complexity setting.
+ */
+ @JsonProperty(value = "referenceFrames")
+ private Integer referenceFrames;
+
+ /**
+ * The entropy mode to be used for this layer. If not specified, the
+ * encoder chooses the mode that is appropriate for the profile and level.
+ * Possible values include: 'Cabac', 'Cavlc'.
+ */
+ @JsonProperty(value = "entropyMode")
+ private EntropyMode entropyMode;
+
+ /**
+ * Get which profile of the H.264 standard should be used when encoding this layer. Default is Auto. Possible values include: 'Auto', 'Baseline', 'Main', 'High', 'High422', 'High444'.
+ *
+ * @return the profile value
+ */
+ public H264VideoProfile profile() {
+ return this.profile;
+ }
+
+ /**
+ * Set which profile of the H.264 standard should be used when encoding this layer. Default is Auto. Possible values include: 'Auto', 'Baseline', 'Main', 'High', 'High422', 'High444'.
+ *
+ * @param profile the profile value to set
+ * @return the H264Layer object itself.
+ */
+ public H264Layer withProfile(H264VideoProfile profile) {
+ this.profile = profile;
+ return this;
+ }
+
+ /**
+ * Get which level of the H.264 standard should be used when encoding this layer. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer.
+ *
+ * @return the level value
+ */
+ public String level() {
+ return this.level;
+ }
+
+ /**
+ * Set which level of the H.264 standard should be used when encoding this layer. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer.
+ *
+ * @param level the level value to set
+ * @return the H264Layer object itself.
+ */
+ public H264Layer withLevel(String level) {
+ this.level = level;
+ return this;
+ }
+
+ /**
+ * Get the VBV buffer window length. The value should be in ISO 8601 format. The value should be in the range [0.1-100] seconds. The default is 5 seconds (for example, PT5S).
+ *
+ * @return the bufferWindow value
+ */
+ public Period bufferWindow() {
+ return this.bufferWindow;
+ }
+
+ /**
+ * Set the VBV buffer window length. The value should be in ISO 8601 format. The value should be in the range [0.1-100] seconds. The default is 5 seconds (for example, PT5S).
+ *
+ * @param bufferWindow the bufferWindow value to set
+ * @return the H264Layer object itself.
+ */
+ public H264Layer withBufferWindow(Period bufferWindow) {
+ this.bufferWindow = bufferWindow;
+ return this;
+ }
+
+ /**
+ * Get the number of reference frames to be used when encoding this layer. If not specified, the encoder determines an appropriate number based on the encoder complexity setting.
+ *
+ * @return the referenceFrames value
+ */
+ public Integer referenceFrames() {
+ return this.referenceFrames;
+ }
+
+ /**
+ * Set the number of reference frames to be used when encoding this layer. If not specified, the encoder determines an appropriate number based on the encoder complexity setting.
+ *
+ * @param referenceFrames the referenceFrames value to set
+ * @return the H264Layer object itself.
+ */
+ public H264Layer withReferenceFrames(Integer referenceFrames) {
+ this.referenceFrames = referenceFrames;
+ return this;
+ }
+
+ /**
+ * Get the entropy mode to be used for this layer. If not specified, the encoder chooses the mode that is appropriate for the profile and level. Possible values include: 'Cabac', 'Cavlc'.
+ *
+ * @return the entropyMode value
+ */
+ public EntropyMode entropyMode() {
+ return this.entropyMode;
+ }
+
+ /**
+ * Set the entropy mode to be used for this layer. If not specified, the encoder chooses the mode that is appropriate for the profile and level. Possible values include: 'Cabac', 'Cavlc'.
+ *
+ * @param entropyMode the entropyMode value to set
+ * @return the H264Layer object itself.
+ */
+ public H264Layer withEntropyMode(EntropyMode entropyMode) {
+ this.entropyMode = entropyMode;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/H264Video.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/H264Video.java
new file mode 100644
index 000000000000..372c142ebc3d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/H264Video.java
@@ -0,0 +1,104 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes all the properties for encoding a video with the H.264 codec.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.H264Video")
+public class H264Video extends Video {
+ /**
+ * Whether or not the encoder should insert key frames at scene changes. If
+ * not specified, the default is false. This flag should be set to true
+ * only when the encoder is being configured to produce a single output
+ * video.
+ */
+ @JsonProperty(value = "sceneChangeDetection")
+ private Boolean sceneChangeDetection;
+
+ /**
+ * Tells the encoder how to choose its encoding settings. The default value
+ * is Balanced. Possible values include: 'Speed', 'Balanced', 'Quality'.
+ */
+ @JsonProperty(value = "complexity")
+ private H264Complexity complexity;
+
+ /**
+ * The collection of output H.264 layers to be produced by the encoder.
+ */
+ @JsonProperty(value = "layers")
+ private List layers;
+
+ /**
+ * Get whether or not the encoder should insert key frames at scene changes. If not specified, the default is false. This flag should be set to true only when the encoder is being configured to produce a single output video.
+ *
+ * @return the sceneChangeDetection value
+ */
+ public Boolean sceneChangeDetection() {
+ return this.sceneChangeDetection;
+ }
+
+ /**
+ * Set whether or not the encoder should insert key frames at scene changes. If not specified, the default is false. This flag should be set to true only when the encoder is being configured to produce a single output video.
+ *
+ * @param sceneChangeDetection the sceneChangeDetection value to set
+ * @return the H264Video object itself.
+ */
+ public H264Video withSceneChangeDetection(Boolean sceneChangeDetection) {
+ this.sceneChangeDetection = sceneChangeDetection;
+ return this;
+ }
+
+ /**
+ * Get tells the encoder how to choose its encoding settings. The default value is Balanced. Possible values include: 'Speed', 'Balanced', 'Quality'.
+ *
+ * @return the complexity value
+ */
+ public H264Complexity complexity() {
+ return this.complexity;
+ }
+
+ /**
+ * Set tells the encoder how to choose its encoding settings. The default value is Balanced. Possible values include: 'Speed', 'Balanced', 'Quality'.
+ *
+ * @param complexity the complexity value to set
+ * @return the H264Video object itself.
+ */
+ public H264Video withComplexity(H264Complexity complexity) {
+ this.complexity = complexity;
+ return this;
+ }
+
+ /**
+ * Get the collection of output H.264 layers to be produced by the encoder.
+ *
+ * @return the layers value
+ */
+ public List layers() {
+ return this.layers;
+ }
+
+ /**
+ * Set the collection of output H.264 layers to be produced by the encoder.
+ *
+ * @param layers the layers value to set
+ * @return the H264Video object itself.
+ */
+ public H264Video withLayers(List layers) {
+ this.layers = layers;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/H264VideoProfile.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/H264VideoProfile.java
new file mode 100644
index 000000000000..5f3178cb92a0
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/H264VideoProfile.java
@@ -0,0 +1,65 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for H264VideoProfile.
+ */
+public enum H264VideoProfile {
+ /** Tells the encoder to automatically determine the appropriate H.264 profile. */
+ AUTO("Auto"),
+
+ /** Baseline profile. */
+ BASELINE("Baseline"),
+
+ /** Main profile. */
+ MAIN("Main"),
+
+ /** High profile. */
+ HIGH("High"),
+
+ /** High 4:2:2 profile. */
+ HIGH422("High422"),
+
+ /** High 4:4:4 predictive profile. */
+ HIGH444("High444");
+
+ /** The actual serialized value for a H264VideoProfile instance. */
+ private String value;
+
+ H264VideoProfile(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a H264VideoProfile instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed H264VideoProfile object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static H264VideoProfile fromString(String value) {
+ H264VideoProfile[] items = H264VideoProfile.values();
+ for (H264VideoProfile item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Hls.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Hls.java
new file mode 100644
index 000000000000..84b7e8b40dde
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Hls.java
@@ -0,0 +1,43 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The HLS configuration.
+ */
+public class Hls {
+ /**
+ * The amount of fragments per HTTP Live Streaming (HLS) segment.
+ */
+ @JsonProperty(value = "fragmentsPerTsSegment")
+ private Integer fragmentsPerTsSegment;
+
+ /**
+ * Get the amount of fragments per HTTP Live Streaming (HLS) segment.
+ *
+ * @return the fragmentsPerTsSegment value
+ */
+ public Integer fragmentsPerTsSegment() {
+ return this.fragmentsPerTsSegment;
+ }
+
+ /**
+ * Set the amount of fragments per HTTP Live Streaming (HLS) segment.
+ *
+ * @param fragmentsPerTsSegment the fragmentsPerTsSegment value to set
+ * @return the Hls object itself.
+ */
+ public Hls withFragmentsPerTsSegment(Integer fragmentsPerTsSegment) {
+ this.fragmentsPerTsSegment = fragmentsPerTsSegment;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/IPAccessControl.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/IPAccessControl.java
new file mode 100644
index 000000000000..768d2a875d2c
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/IPAccessControl.java
@@ -0,0 +1,44 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The IP access control.
+ */
+public class IPAccessControl {
+ /**
+ * The IP allow list.
+ */
+ @JsonProperty(value = "allow")
+ private List allow;
+
+ /**
+ * Get the IP allow list.
+ *
+ * @return the allow value
+ */
+ public List allow() {
+ return this.allow;
+ }
+
+ /**
+ * Set the IP allow list.
+ *
+ * @param allow the allow value to set
+ * @return the IPAccessControl object itself.
+ */
+ public IPAccessControl withAllow(List allow) {
+ this.allow = allow;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/IPRange.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/IPRange.java
new file mode 100644
index 000000000000..ce7c522c3392
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/IPRange.java
@@ -0,0 +1,95 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The IP address range in the CIDR scheme.
+ */
+public class IPRange {
+ /**
+ * The friendly name for the IP address range.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * The IP address.
+ */
+ @JsonProperty(value = "address")
+ private String address;
+
+ /**
+ * The subnet mask prefix length (see CIDR notation).
+ */
+ @JsonProperty(value = "subnetPrefixLength")
+ private Integer subnetPrefixLength;
+
+ /**
+ * Get the friendly name for the IP address range.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the friendly name for the IP address range.
+ *
+ * @param name the name value to set
+ * @return the IPRange object itself.
+ */
+ public IPRange withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the IP address.
+ *
+ * @return the address value
+ */
+ public String address() {
+ return this.address;
+ }
+
+ /**
+ * Set the IP address.
+ *
+ * @param address the address value to set
+ * @return the IPRange object itself.
+ */
+ public IPRange withAddress(String address) {
+ this.address = address;
+ return this;
+ }
+
+ /**
+ * Get the subnet mask prefix length (see CIDR notation).
+ *
+ * @return the subnetPrefixLength value
+ */
+ public Integer subnetPrefixLength() {
+ return this.subnetPrefixLength;
+ }
+
+ /**
+ * Set the subnet mask prefix length (see CIDR notation).
+ *
+ * @param subnetPrefixLength the subnetPrefixLength value to set
+ * @return the IPRange object itself.
+ */
+ public IPRange withSubnetPrefixLength(Integer subnetPrefixLength) {
+ this.subnetPrefixLength = subnetPrefixLength;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Image.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Image.java
new file mode 100644
index 000000000000..da31483ebb56
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Image.java
@@ -0,0 +1,116 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Describes the basic properties for generating thumbnails from the input
+ * video.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.Image")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.JpgImage", value = JpgImage.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.PngImage", value = PngImage.class)
+})
+public class Image extends Video {
+ /**
+ * The position in the input video from where to start generating
+ * thumbnails. The value can be in absolute timestamp (ISO 8601, e.g:
+ * PT05S), or a frame count (For example, 10 for the 10th frame), or a
+ * relative value (For example, 1%). Also supports a macro {Best}, which
+ * tells the encoder to select the best thumbnail from the first few
+ * seconds of the video.
+ */
+ @JsonProperty(value = "start")
+ private String start;
+
+ /**
+ * The intervals at which thumbnails are generated. The value can be in
+ * absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 seconds),
+ * or a frame count (For example, 30 for every 30 frames), or a relative
+ * value (For example, 1%).
+ */
+ @JsonProperty(value = "step")
+ private String step;
+
+ /**
+ * The position in the input video at which to stop generating thumbnails.
+ * The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S to stop
+ * at 5 minutes and 30 seconds), or a frame count (For example, 300 to stop
+ * at the 300th frame), or a relative value (For example, 100%).
+ */
+ @JsonProperty(value = "range")
+ private String range;
+
+ /**
+ * Get the position in the input video from where to start generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), or a relative value (For example, 1%). Also supports a macro {Best}, which tells the encoder to select the best thumbnail from the first few seconds of the video.
+ *
+ * @return the start value
+ */
+ public String start() {
+ return this.start;
+ }
+
+ /**
+ * Set the position in the input video from where to start generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), or a relative value (For example, 1%). Also supports a macro {Best}, which tells the encoder to select the best thumbnail from the first few seconds of the video.
+ *
+ * @param start the start value to set
+ * @return the Image object itself.
+ */
+ public Image withStart(String start) {
+ this.start = start;
+ return this;
+ }
+
+ /**
+ * Get the intervals at which thumbnails are generated. The value can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 seconds), or a frame count (For example, 30 for every 30 frames), or a relative value (For example, 1%).
+ *
+ * @return the step value
+ */
+ public String step() {
+ return this.step;
+ }
+
+ /**
+ * Set the intervals at which thumbnails are generated. The value can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 seconds), or a frame count (For example, 30 for every 30 frames), or a relative value (For example, 1%).
+ *
+ * @param step the step value to set
+ * @return the Image object itself.
+ */
+ public Image withStep(String step) {
+ this.step = step;
+ return this;
+ }
+
+ /**
+ * Get the position in the input video at which to stop generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 to stop at the 300th frame), or a relative value (For example, 100%).
+ *
+ * @return the range value
+ */
+ public String range() {
+ return this.range;
+ }
+
+ /**
+ * Set the position in the input video at which to stop generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 to stop at the 300th frame), or a relative value (For example, 100%).
+ *
+ * @param range the range value to set
+ * @return the Image object itself.
+ */
+ public Image withRange(String range) {
+ this.range = range;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ImageFormat.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ImageFormat.java
new file mode 100644
index 000000000000..a76ba06d071e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ImageFormat.java
@@ -0,0 +1,25 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Describes the properties for an output image file.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.ImageFormat")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.JpgFormat", value = JpgFormat.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.PngFormat", value = PngFormat.class)
+})
+public class ImageFormat extends Format {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/InsightsType.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/InsightsType.java
new file mode 100644
index 000000000000..9cab233c0e33
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/InsightsType.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for InsightsType.
+ */
+public enum InsightsType {
+ /** Generate audio only insights. Ignore video even if present. Fails if no audio is present. */
+ AUDIO_INSIGHTS_ONLY("AudioInsightsOnly"),
+
+ /** Generate video only insights. Ignore audio if present. Fails if no video is present. */
+ VIDEO_INSIGHTS_ONLY("VideoInsightsOnly"),
+
+ /** Generate both audio and video insights. Fails if either audio or video Insights fail. */
+ ALL_INSIGHTS("AllInsights");
+
+ /** The actual serialized value for a InsightsType instance. */
+ private String value;
+
+ InsightsType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a InsightsType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed InsightsType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static InsightsType fromString(String value) {
+ InsightsType[] items = InsightsType.values();
+ for (InsightsType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Job.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Job.java
new file mode 100644
index 000000000000..cf3032c073fb
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Job.java
@@ -0,0 +1,208 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.JobInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import org.joda.time.DateTime;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Type representing Job.
+ */
+public interface Job extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the correlationData value.
+ */
+ Map correlationData();
+
+ /**
+ * @return the created value.
+ */
+ DateTime created();
+
+ /**
+ * @return the description value.
+ */
+ String description();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the input value.
+ */
+ JobInput input();
+
+ /**
+ * @return the lastModified value.
+ */
+ DateTime lastModified();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the outputs value.
+ */
+ List outputs();
+
+ /**
+ * @return the priority value.
+ */
+ Priority priority();
+
+ /**
+ * @return the state value.
+ */
+ JobState state();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the Job definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithTransform, DefinitionStages.WithInput, DefinitionStages.WithOutputs, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of Job definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a Job definition.
+ */
+ interface Blank extends WithTransform {
+ }
+
+ /**
+ * The stage of the job definition allowing to specify Transform.
+ */
+ interface WithTransform {
+ /**
+ * Specifies resourceGroupName, accountName, transformName.
+ */
+ WithInput withExistingTransform(String resourceGroupName, String accountName, String transformName);
+ }
+
+ /**
+ * The stage of the job definition allowing to specify Input.
+ */
+ interface WithInput {
+ /**
+ * Specifies input.
+ */
+ WithOutputs withInput(JobInput input);
+ }
+
+ /**
+ * The stage of the job definition allowing to specify Outputs.
+ */
+ interface WithOutputs {
+ /**
+ * Specifies outputs.
+ */
+ WithCreate withOutputs(List outputs);
+ }
+
+ /**
+ * The stage of the job definition allowing to specify CorrelationData.
+ */
+ interface WithCorrelationData {
+ /**
+ * Specifies correlationData.
+ */
+ WithCreate withCorrelationData(Map correlationData);
+ }
+
+ /**
+ * The stage of the job definition allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ */
+ WithCreate withDescription(String description);
+ }
+
+ /**
+ * The stage of the job definition allowing to specify Priority.
+ */
+ interface WithPriority {
+ /**
+ * Specifies priority.
+ */
+ WithCreate withPriority(Priority priority);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithCorrelationData, DefinitionStages.WithDescription, DefinitionStages.WithPriority {
+ }
+ }
+ /**
+ * The template for a Job update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithCorrelationData, UpdateStages.WithDescription, UpdateStages.WithPriority {
+ }
+
+ /**
+ * Grouping of Job update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the job update allowing to specify CorrelationData.
+ */
+ interface WithCorrelationData {
+ /**
+ * Specifies correlationData.
+ */
+ Update withCorrelationData(Map correlationData);
+ }
+
+ /**
+ * The stage of the job update allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ */
+ Update withDescription(String description);
+ }
+
+ /**
+ * The stage of the job update allowing to specify Priority.
+ */
+ interface WithPriority {
+ /**
+ * Specifies priority.
+ */
+ Update withPriority(Priority priority);
+ }
+
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobError.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobError.java
new file mode 100644
index 000000000000..61754e01728f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobError.java
@@ -0,0 +1,100 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Details of JobOutput errors.
+ */
+public class JobError {
+ /**
+ * Error code describing the error. Possible values include:
+ * 'ServiceError', 'ServiceTransientError', 'DownloadNotAccessible',
+ * 'DownloadTransientError', 'UploadNotAccessible', 'UploadTransientError',
+ * 'ConfigurationUnsupported', 'ContentMalformed', 'ContentUnsupported'.
+ */
+ @JsonProperty(value = "code", access = JsonProperty.Access.WRITE_ONLY)
+ private JobErrorCode code;
+
+ /**
+ * A human-readable language-dependent representation of the error.
+ */
+ @JsonProperty(value = "message", access = JsonProperty.Access.WRITE_ONLY)
+ private String message;
+
+ /**
+ * Helps with categorization of errors. Possible values include: 'Service',
+ * 'Download', 'Upload', 'Configuration', 'Content'.
+ */
+ @JsonProperty(value = "category", access = JsonProperty.Access.WRITE_ONLY)
+ private JobErrorCategory category;
+
+ /**
+ * Indicates that it may be possible to retry the Job. If retry is
+ * unsuccessful, please contact Azure support via Azure Portal. Possible
+ * values include: 'DoNotRetry', 'MayRetry'.
+ */
+ @JsonProperty(value = "retry", access = JsonProperty.Access.WRITE_ONLY)
+ private JobRetry retry;
+
+ /**
+ * An array of details about specific errors that led to this reported
+ * error.
+ */
+ @JsonProperty(value = "details", access = JsonProperty.Access.WRITE_ONLY)
+ private List details;
+
+ /**
+ * Get error code describing the error. Possible values include: 'ServiceError', 'ServiceTransientError', 'DownloadNotAccessible', 'DownloadTransientError', 'UploadNotAccessible', 'UploadTransientError', 'ConfigurationUnsupported', 'ContentMalformed', 'ContentUnsupported'.
+ *
+ * @return the code value
+ */
+ public JobErrorCode code() {
+ return this.code;
+ }
+
+ /**
+ * Get a human-readable language-dependent representation of the error.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Get helps with categorization of errors. Possible values include: 'Service', 'Download', 'Upload', 'Configuration', 'Content'.
+ *
+ * @return the category value
+ */
+ public JobErrorCategory category() {
+ return this.category;
+ }
+
+ /**
+ * Get indicates that it may be possible to retry the Job. If retry is unsuccessful, please contact Azure support via Azure Portal. Possible values include: 'DoNotRetry', 'MayRetry'.
+ *
+ * @return the retry value
+ */
+ public JobRetry retry() {
+ return this.retry;
+ }
+
+ /**
+ * Get an array of details about specific errors that led to this reported error.
+ *
+ * @return the details value
+ */
+ public List details() {
+ return this.details;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobErrorCategory.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobErrorCategory.java
new file mode 100644
index 000000000000..80ed5a269a78
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobErrorCategory.java
@@ -0,0 +1,62 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for JobErrorCategory.
+ */
+public enum JobErrorCategory {
+ /** The error is service related. */
+ SERVICE("Service"),
+
+ /** The error is download related. */
+ DOWNLOAD("Download"),
+
+ /** The error is upload related. */
+ UPLOAD("Upload"),
+
+ /** The error is configuration related. */
+ CONFIGURATION("Configuration"),
+
+ /** The error is related to data in the input files. */
+ CONTENT("Content");
+
+ /** The actual serialized value for a JobErrorCategory instance. */
+ private String value;
+
+ JobErrorCategory(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a JobErrorCategory instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed JobErrorCategory object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static JobErrorCategory fromString(String value) {
+ JobErrorCategory[] items = JobErrorCategory.values();
+ for (JobErrorCategory item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobErrorCode.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobErrorCode.java
new file mode 100644
index 000000000000..f98c797beb5f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobErrorCode.java
@@ -0,0 +1,74 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for JobErrorCode.
+ */
+public enum JobErrorCode {
+ /** Fatal service error, please contact support. */
+ SERVICE_ERROR("ServiceError"),
+
+ /** Transient error, please retry, if retry is unsuccessful, please contact support. */
+ SERVICE_TRANSIENT_ERROR("ServiceTransientError"),
+
+ /** While trying to download the input files, the files were not accessible, please check the availability of the source. */
+ DOWNLOAD_NOT_ACCESSIBLE("DownloadNotAccessible"),
+
+ /** While trying to download the input files, there was an issue during transfer (storage service, network errors), see details and check your source. */
+ DOWNLOAD_TRANSIENT_ERROR("DownloadTransientError"),
+
+ /** While trying to upload the output files, the destination was not reachable, please check the availability of the destination. */
+ UPLOAD_NOT_ACCESSIBLE("UploadNotAccessible"),
+
+ /** While trying to upload the output files, there was an issue during transfer (storage service, network errors), see details and check your destination. */
+ UPLOAD_TRANSIENT_ERROR("UploadTransientError"),
+
+ /** There was a problem with the combination of input files and the configuration settings applied, fix the configuration settings and retry with the same input, or change input to match the configuration. */
+ CONFIGURATION_UNSUPPORTED("ConfigurationUnsupported"),
+
+ /** There was a problem with the input content (for example: zero byte files, or corrupt/non-decodable files), check the input files. */
+ CONTENT_MALFORMED("ContentMalformed"),
+
+ /** There was a problem with the format of the input (not valid media file, or an unsupported file/codec), check the validity of the input files. */
+ CONTENT_UNSUPPORTED("ContentUnsupported");
+
+ /** The actual serialized value for a JobErrorCode instance. */
+ private String value;
+
+ JobErrorCode(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a JobErrorCode instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed JobErrorCode object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static JobErrorCode fromString(String value) {
+ JobErrorCode[] items = JobErrorCode.values();
+ for (JobErrorCode item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobErrorDetail.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobErrorDetail.java
new file mode 100644
index 000000000000..1994c85e775f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobErrorDetail.java
@@ -0,0 +1,47 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Details of JobOutput errors.
+ */
+public class JobErrorDetail {
+ /**
+ * Code describing the error detail.
+ */
+ @JsonProperty(value = "code", access = JsonProperty.Access.WRITE_ONLY)
+ private String code;
+
+ /**
+ * A human-readable representation of the error.
+ */
+ @JsonProperty(value = "message", access = JsonProperty.Access.WRITE_ONLY)
+ private String message;
+
+ /**
+ * Get code describing the error detail.
+ *
+ * @return the code value
+ */
+ public String code() {
+ return this.code;
+ }
+
+ /**
+ * Get a human-readable representation of the error.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInput.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInput.java
new file mode 100644
index 000000000000..87d6d424a6e7
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInput.java
@@ -0,0 +1,25 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Base class for inputs to a Job.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("JobInput")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.JobInputClip", value = JobInputClip.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.JobInputs", value = JobInputs.class)
+})
+public class JobInput {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInputAsset.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInputAsset.java
new file mode 100644
index 000000000000..471f36a5f141
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInputAsset.java
@@ -0,0 +1,47 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Represents an Asset for input into a Job.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.JobInputAsset")
+public class JobInputAsset extends JobInputClip {
+ /**
+ * The name of the input Asset.
+ */
+ @JsonProperty(value = "assetName", required = true)
+ private String assetName;
+
+ /**
+ * Get the name of the input Asset.
+ *
+ * @return the assetName value
+ */
+ public String assetName() {
+ return this.assetName;
+ }
+
+ /**
+ * Set the name of the input Asset.
+ *
+ * @param assetName the assetName value to set
+ * @return the JobInputAsset object itself.
+ */
+ public JobInputAsset withAssetName(String assetName) {
+ this.assetName = assetName;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInputClip.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInputClip.java
new file mode 100644
index 000000000000..5d487948ee56
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInputClip.java
@@ -0,0 +1,84 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Represents input files for a Job.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.JobInputClip")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.JobInputAsset", value = JobInputAsset.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.JobInputHttp", value = JobInputHttp.class)
+})
+public class JobInputClip extends JobInput {
+ /**
+ * List of files. Required for JobInputHttp.
+ */
+ @JsonProperty(value = "files")
+ private List files;
+
+ /**
+ * A label that is assigned to a JobInputClip, that is used to satisfy a
+ * reference used in the Transform. For example, a Transform can be
+ * authored so as to take an image file with the label 'xyz' and apply it
+ * as an overlay onto the input video before it is encoded. When submitting
+ * a Job, exactly one of the JobInputs should be the image file, and it
+ * should have the label 'xyz'.
+ */
+ @JsonProperty(value = "label")
+ private String label;
+
+ /**
+ * Get list of files. Required for JobInputHttp.
+ *
+ * @return the files value
+ */
+ public List files() {
+ return this.files;
+ }
+
+ /**
+ * Set list of files. Required for JobInputHttp.
+ *
+ * @param files the files value to set
+ * @return the JobInputClip object itself.
+ */
+ public JobInputClip withFiles(List files) {
+ this.files = files;
+ return this;
+ }
+
+ /**
+ * Get a label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'.
+ *
+ * @return the label value
+ */
+ public String label() {
+ return this.label;
+ }
+
+ /**
+ * Set a label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'.
+ *
+ * @param label the label value to set
+ * @return the JobInputClip object itself.
+ */
+ public JobInputClip withLabel(String label) {
+ this.label = label;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInputHttp.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInputHttp.java
new file mode 100644
index 000000000000..71d04fd88fe4
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInputHttp.java
@@ -0,0 +1,49 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Represents HTTPS job input.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.JobInputHttp")
+public class JobInputHttp extends JobInputClip {
+ /**
+ * Base URI for HTTPS job input. It will be concatenated with provided file
+ * names. If no base uri is given, then the provided file list is assumed
+ * to be fully qualified uris.
+ */
+ @JsonProperty(value = "baseUri")
+ private String baseUri;
+
+ /**
+ * Get base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris.
+ *
+ * @return the baseUri value
+ */
+ public String baseUri() {
+ return this.baseUri;
+ }
+
+ /**
+ * Set base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris.
+ *
+ * @param baseUri the baseUri value to set
+ * @return the JobInputHttp object itself.
+ */
+ public JobInputHttp withBaseUri(String baseUri) {
+ this.baseUri = baseUri;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInputs.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInputs.java
new file mode 100644
index 000000000000..881f802e5318
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobInputs.java
@@ -0,0 +1,48 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes a list of of inputs to a Job.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.JobInputs")
+public class JobInputs extends JobInput {
+ /**
+ * List of inputs to a Job.
+ */
+ @JsonProperty(value = "inputs")
+ private List inputs;
+
+ /**
+ * Get list of inputs to a Job.
+ *
+ * @return the inputs value
+ */
+ public List inputs() {
+ return this.inputs;
+ }
+
+ /**
+ * Set list of inputs to a Job.
+ *
+ * @param inputs the inputs value to set
+ * @return the JobInputs object itself.
+ */
+ public JobInputs withInputs(List inputs) {
+ this.inputs = inputs;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobOutput.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobOutput.java
new file mode 100644
index 000000000000..335c8559a91a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobOutput.java
@@ -0,0 +1,114 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Describes all the properties of a JobOutput.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("JobOutput")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.JobOutputAsset", value = JobOutputAsset.class)
+})
+public class JobOutput {
+ /**
+ * If the JobOutput is in the Error state, it contains the details of the
+ * error.
+ */
+ @JsonProperty(value = "error", access = JsonProperty.Access.WRITE_ONLY)
+ private JobError error;
+
+ /**
+ * Describes the state of the JobOutput. Possible values include:
+ * 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued',
+ * 'Scheduled'.
+ */
+ @JsonProperty(value = "state", access = JsonProperty.Access.WRITE_ONLY)
+ private JobState state;
+
+ /**
+ * If the JobOutput is in a Processing state, this contains the Job
+ * completion percentage. The value is an estimate and not intended to be
+ * used to predict Job completion times. To determine if the JobOutput is
+ * complete, use the State property.
+ */
+ @JsonProperty(value = "progress", access = JsonProperty.Access.WRITE_ONLY)
+ private int progress;
+
+ /**
+ * A label that is assigned to a JobOutput in order to help uniquely
+ * identify it. This is useful when your Transform has more than one
+ * TransformOutput, whereby your Job has more than one JobOutput. In such
+ * cases, when you submit the Job, you will add two or more JobOutputs, in
+ * the same order as TransformOutputs in the Transform. Subsequently, when
+ * you retrieve the Job, either through events or on a GET request, you can
+ * use the label to easily identify the JobOutput. If a label is not
+ * provided, a default value of '{presetName}_{outputIndex}' will be used,
+ * where the preset name is the name of the preset in the corresponding
+ * TransformOutput and the output index is the relative index of the this
+ * JobOutput within the Job. Note that this index is the same as the
+ * relative index of the corresponding TransformOutput within its
+ * Transform.
+ */
+ @JsonProperty(value = "label")
+ private String label;
+
+ /**
+ * Get if the JobOutput is in the Error state, it contains the details of the error.
+ *
+ * @return the error value
+ */
+ public JobError error() {
+ return this.error;
+ }
+
+ /**
+ * Get describes the state of the JobOutput. Possible values include: 'Canceled', 'Canceling', 'Error', 'Finished', 'Processing', 'Queued', 'Scheduled'.
+ *
+ * @return the state value
+ */
+ public JobState state() {
+ return this.state;
+ }
+
+ /**
+ * Get if the JobOutput is in a Processing state, this contains the Job completion percentage. The value is an estimate and not intended to be used to predict Job completion times. To determine if the JobOutput is complete, use the State property.
+ *
+ * @return the progress value
+ */
+ public int progress() {
+ return this.progress;
+ }
+
+ /**
+ * Get a label that is assigned to a JobOutput in order to help uniquely identify it. This is useful when your Transform has more than one TransformOutput, whereby your Job has more than one JobOutput. In such cases, when you submit the Job, you will add two or more JobOutputs, in the same order as TransformOutputs in the Transform. Subsequently, when you retrieve the Job, either through events or on a GET request, you can use the label to easily identify the JobOutput. If a label is not provided, a default value of '{presetName}_{outputIndex}' will be used, where the preset name is the name of the preset in the corresponding TransformOutput and the output index is the relative index of the this JobOutput within the Job. Note that this index is the same as the relative index of the corresponding TransformOutput within its Transform.
+ *
+ * @return the label value
+ */
+ public String label() {
+ return this.label;
+ }
+
+ /**
+ * Set a label that is assigned to a JobOutput in order to help uniquely identify it. This is useful when your Transform has more than one TransformOutput, whereby your Job has more than one JobOutput. In such cases, when you submit the Job, you will add two or more JobOutputs, in the same order as TransformOutputs in the Transform. Subsequently, when you retrieve the Job, either through events or on a GET request, you can use the label to easily identify the JobOutput. If a label is not provided, a default value of '{presetName}_{outputIndex}' will be used, where the preset name is the name of the preset in the corresponding TransformOutput and the output index is the relative index of the this JobOutput within the Job. Note that this index is the same as the relative index of the corresponding TransformOutput within its Transform.
+ *
+ * @param label the label value to set
+ * @return the JobOutput object itself.
+ */
+ public JobOutput withLabel(String label) {
+ this.label = label;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobOutputAsset.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobOutputAsset.java
new file mode 100644
index 000000000000..1d07b4c86f7e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobOutputAsset.java
@@ -0,0 +1,47 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Represents an Asset used as a JobOutput.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.JobOutputAsset")
+public class JobOutputAsset extends JobOutput {
+ /**
+ * The name of the output Asset.
+ */
+ @JsonProperty(value = "assetName", required = true)
+ private String assetName;
+
+ /**
+ * Get the name of the output Asset.
+ *
+ * @return the assetName value
+ */
+ public String assetName() {
+ return this.assetName;
+ }
+
+ /**
+ * Set the name of the output Asset.
+ *
+ * @param assetName the assetName value to set
+ * @return the JobOutputAsset object itself.
+ */
+ public JobOutputAsset withAssetName(String assetName) {
+ this.assetName = assetName;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobRetry.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobRetry.java
new file mode 100644
index 000000000000..ee7995f3eb33
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobRetry.java
@@ -0,0 +1,53 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for JobRetry.
+ */
+public enum JobRetry {
+ /** Issue needs to be investigated and then the job resubmitted with corrections or retried once the underlying issue has been corrected. */
+ DO_NOT_RETRY("DoNotRetry"),
+
+ /** Issue may be resolved after waiting for a period of time and resubmitting the same Job. */
+ MAY_RETRY("MayRetry");
+
+ /** The actual serialized value for a JobRetry instance. */
+ private String value;
+
+ JobRetry(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a JobRetry instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed JobRetry object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static JobRetry fromString(String value) {
+ JobRetry[] items = JobRetry.values();
+ for (JobRetry item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobState.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobState.java
new file mode 100644
index 000000000000..57f686d3a3b3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JobState.java
@@ -0,0 +1,68 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for JobState.
+ */
+public enum JobState {
+ /** The job was canceled. This is a final state for the job. */
+ CANCELED("Canceled"),
+
+ /** The job is in the process of being canceled. This is a transient state for the job. */
+ CANCELING("Canceling"),
+
+ /** The job has encountered an error. This is a final state for the job. */
+ ERROR("Error"),
+
+ /** The job is finished. This is a final state for the job. */
+ FINISHED("Finished"),
+
+ /** The job is processing. This is a transient state for the job. */
+ PROCESSING("Processing"),
+
+ /** The job is in a queued state, waiting for resources to become available. This is a transient state. */
+ QUEUED("Queued"),
+
+ /** The job is being scheduled to run on an available resource. This is a transient state, between queued and processing states. */
+ SCHEDULED("Scheduled");
+
+ /** The actual serialized value for a JobState instance. */
+ private String value;
+
+ JobState(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a JobState instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed JobState object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static JobState fromString(String value) {
+ JobState[] items = JobState.values();
+ for (JobState item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Jobs.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Jobs.java
new file mode 100644
index 000000000000..a2ee4f7aa0f7
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Jobs.java
@@ -0,0 +1,72 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.JobsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Jobs.
+ */
+public interface Jobs extends SupportsCreating, HasInner {
+ /**
+ * Cancel Job.
+ * Cancel a Job.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param transformName The Transform name.
+ * @param jobName The Job name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable cancelJobAsync(String resourceGroupName, String accountName, String transformName, String jobName);
+
+ /**
+ * Get Job.
+ * Gets a Job.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param transformName The Transform name.
+ * @param jobName The Job name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String accountName, String transformName, String jobName);
+
+ /**
+ * List Jobs.
+ * Lists all of the Jobs for the Transform.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param transformName The Transform name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String accountName, final String transformName);
+
+ /**
+ * Delete Job.
+ * Deletes a Job.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param transformName The Transform name.
+ * @param jobName The Job name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String accountName, String transformName, String jobName);
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JpgFormat.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JpgFormat.java
new file mode 100644
index 000000000000..28dc9bcdf32e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JpgFormat.java
@@ -0,0 +1,20 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes the settings for producing JPEG thumbnails.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.JpgFormat")
+public class JpgFormat extends ImageFormat {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JpgImage.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JpgImage.java
new file mode 100644
index 000000000000..118f7868cbe3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JpgImage.java
@@ -0,0 +1,49 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes the properties for producing a series of JPEG images from the
+ * input video.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.JpgImage")
+public class JpgImage extends Image {
+ /**
+ * A collection of output JPEG image layers to be produced by the encoder.
+ */
+ @JsonProperty(value = "layers")
+ private List layers;
+
+ /**
+ * Get a collection of output JPEG image layers to be produced by the encoder.
+ *
+ * @return the layers value
+ */
+ public List layers() {
+ return this.layers;
+ }
+
+ /**
+ * Set a collection of output JPEG image layers to be produced by the encoder.
+ *
+ * @param layers the layers value to set
+ * @return the JpgImage object itself.
+ */
+ public JpgImage withLayers(List layers) {
+ this.layers = layers;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JpgLayer.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JpgLayer.java
new file mode 100644
index 000000000000..7da9a93faa6d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/JpgLayer.java
@@ -0,0 +1,48 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes the settings to produce a JPEG image from the input video.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.JpgLayer")
+public class JpgLayer extends Layer {
+ /**
+ * The compression quality of the JPEG output. Range is from 0-100 and the
+ * default is 70.
+ */
+ @JsonProperty(value = "quality")
+ private Integer quality;
+
+ /**
+ * Get the compression quality of the JPEG output. Range is from 0-100 and the default is 70.
+ *
+ * @return the quality value
+ */
+ public Integer quality() {
+ return this.quality;
+ }
+
+ /**
+ * Set the compression quality of the JPEG output. Range is from 0-100 and the default is 70.
+ *
+ * @param quality the quality value to set
+ * @return the JpgLayer object itself.
+ */
+ public JpgLayer withQuality(Integer quality) {
+ this.quality = quality;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Layer.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Layer.java
new file mode 100644
index 000000000000..5a623bdd496c
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Layer.java
@@ -0,0 +1,112 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * The encoder can be configured to produce video and/or images (thumbnails) at
+ * different resolutions, by specifying a layer for each desired resolution. A
+ * layer represents the properties for the video or image at a resolution.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("Layer")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.VideoLayer", value = VideoLayer.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.JpgLayer", value = JpgLayer.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.PngLayer", value = PngLayer.class)
+})
+public class Layer {
+ /**
+ * The width of the output video for this layer. The value can be absolute
+ * (in pixels) or relative (in percentage). For example 50% means the
+ * output video has half as many pixels in width as the input.
+ */
+ @JsonProperty(value = "width")
+ private String width;
+
+ /**
+ * The height of the output video for this layer. The value can be absolute
+ * (in pixels) or relative (in percentage). For example 50% means the
+ * output video has half as many pixels in height as the input.
+ */
+ @JsonProperty(value = "height")
+ private String height;
+
+ /**
+ * The alphanumeric label for this layer, which can be used in multiplexing
+ * different video and audio layers, or in naming the output file.
+ */
+ @JsonProperty(value = "label")
+ private String label;
+
+ /**
+ * Get the width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input.
+ *
+ * @return the width value
+ */
+ public String width() {
+ return this.width;
+ }
+
+ /**
+ * Set the width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input.
+ *
+ * @param width the width value to set
+ * @return the Layer object itself.
+ */
+ public Layer withWidth(String width) {
+ this.width = width;
+ return this;
+ }
+
+ /**
+ * Get the height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input.
+ *
+ * @return the height value
+ */
+ public String height() {
+ return this.height;
+ }
+
+ /**
+ * Set the height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input.
+ *
+ * @param height the height value to set
+ * @return the Layer object itself.
+ */
+ public Layer withHeight(String height) {
+ this.height = height;
+ return this;
+ }
+
+ /**
+ * Get the alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file.
+ *
+ * @return the label value
+ */
+ public String label() {
+ return this.label;
+ }
+
+ /**
+ * Set the alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file.
+ *
+ * @param label the label value to set
+ * @return the Layer object itself.
+ */
+ public Layer withLabel(String label) {
+ this.label = label;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ListContainerSasInput.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ListContainerSasInput.java
new file mode 100644
index 000000000000..6464abeb16f3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ListContainerSasInput.java
@@ -0,0 +1,72 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The parameters to the list SAS request.
+ */
+public class ListContainerSasInput {
+ /**
+ * The permissions to set on the SAS URL. Possible values include: 'Read',
+ * 'ReadWrite', 'ReadWriteDelete'.
+ */
+ @JsonProperty(value = "permissions")
+ private AssetContainerPermission permissions;
+
+ /**
+ * The SAS URL expiration time. This must be less than 24 hours from the
+ * current time.
+ */
+ @JsonProperty(value = "expiryTime")
+ private DateTime expiryTime;
+
+ /**
+ * Get the permissions to set on the SAS URL. Possible values include: 'Read', 'ReadWrite', 'ReadWriteDelete'.
+ *
+ * @return the permissions value
+ */
+ public AssetContainerPermission permissions() {
+ return this.permissions;
+ }
+
+ /**
+ * Set the permissions to set on the SAS URL. Possible values include: 'Read', 'ReadWrite', 'ReadWriteDelete'.
+ *
+ * @param permissions the permissions value to set
+ * @return the ListContainerSasInput object itself.
+ */
+ public ListContainerSasInput withPermissions(AssetContainerPermission permissions) {
+ this.permissions = permissions;
+ return this;
+ }
+
+ /**
+ * Get the SAS URL expiration time. This must be less than 24 hours from the current time.
+ *
+ * @return the expiryTime value
+ */
+ public DateTime expiryTime() {
+ return this.expiryTime;
+ }
+
+ /**
+ * Set the SAS URL expiration time. This must be less than 24 hours from the current time.
+ *
+ * @param expiryTime the expiryTime value to set
+ * @return the ListContainerSasInput object itself.
+ */
+ public ListContainerSasInput withExpiryTime(DateTime expiryTime) {
+ this.expiryTime = expiryTime;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ListContentKeysResponse.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ListContentKeysResponse.java
new file mode 100644
index 000000000000..d8859c213b16
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ListContentKeysResponse.java
@@ -0,0 +1,26 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.ListContentKeysResponseInner;
+import java.util.List;
+
+/**
+ * Type representing ListContentKeysResponse.
+ */
+public interface ListContentKeysResponse extends HasInner, HasManager {
+ /**
+ * @return the contentKeys value.
+ */
+ List contentKeys();
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ListPathsResponse.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ListPathsResponse.java
new file mode 100644
index 000000000000..add01e3e9e0f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ListPathsResponse.java
@@ -0,0 +1,31 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.ListPathsResponseInner;
+import java.util.List;
+
+/**
+ * Type representing ListPathsResponse.
+ */
+public interface ListPathsResponse extends HasInner, HasManager {
+ /**
+ * @return the downloadPaths value.
+ */
+ List downloadPaths();
+
+ /**
+ * @return the streamingPaths value.
+ */
+ List streamingPaths();
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ListStreamingLocatorsResponse.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ListStreamingLocatorsResponse.java
new file mode 100644
index 000000000000..6ecec1cbb6b7
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ListStreamingLocatorsResponse.java
@@ -0,0 +1,26 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.ListStreamingLocatorsResponseInner;
+import java.util.List;
+
+/**
+ * Type representing ListStreamingLocatorsResponse.
+ */
+public interface ListStreamingLocatorsResponse extends HasInner, HasManager {
+ /**
+ * @return the streamingLocators value.
+ */
+ List streamingLocators();
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEvent.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEvent.java
new file mode 100644
index 000000000000..a3cc21930557
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEvent.java
@@ -0,0 +1,323 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.LiveEventInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import java.util.Map;
+import java.util.List;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing LiveEvent.
+ */
+public interface LiveEvent extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the created value.
+ */
+ DateTime created();
+
+ /**
+ * @return the crossSiteAccessPolicies value.
+ */
+ CrossSiteAccessPolicies crossSiteAccessPolicies();
+
+ /**
+ * @return the description value.
+ */
+ String description();
+
+ /**
+ * @return the encoding value.
+ */
+ LiveEventEncoding encoding();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the input value.
+ */
+ LiveEventInput input();
+
+ /**
+ * @return the lastModified value.
+ */
+ DateTime lastModified();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the preview value.
+ */
+ LiveEventPreview preview();
+
+ /**
+ * @return the provisioningState value.
+ */
+ String provisioningState();
+
+ /**
+ * @return the resourceState value.
+ */
+ LiveEventResourceState resourceState();
+
+ /**
+ * @return the streamOptions value.
+ */
+ List streamOptions();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * @return the vanityUrl value.
+ */
+ Boolean vanityUrl();
+
+ /**
+ * The entirety of the LiveEvent definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithMediaservice, DefinitionStages.WithInput, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of LiveEvent definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a LiveEvent definition.
+ */
+ interface Blank extends WithMediaservice {
+ }
+
+ /**
+ * The stage of the liveevent definition allowing to specify Mediaservice.
+ */
+ interface WithMediaservice {
+ /**
+ * Specifies resourceGroupName, accountName.
+ */
+ WithInput withExistingMediaservice(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the liveevent definition allowing to specify Input.
+ */
+ interface WithInput {
+ /**
+ * Specifies input.
+ */
+ WithCreate withInput(LiveEventInput input);
+ }
+
+ /**
+ * The stage of the liveevent definition allowing to specify CrossSiteAccessPolicies.
+ */
+ interface WithCrossSiteAccessPolicies {
+ /**
+ * Specifies crossSiteAccessPolicies.
+ */
+ WithCreate withCrossSiteAccessPolicies(CrossSiteAccessPolicies crossSiteAccessPolicies);
+ }
+
+ /**
+ * The stage of the liveevent definition allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ */
+ WithCreate withDescription(String description);
+ }
+
+ /**
+ * The stage of the liveevent definition allowing to specify Encoding.
+ */
+ interface WithEncoding {
+ /**
+ * Specifies encoding.
+ */
+ WithCreate withEncoding(LiveEventEncoding encoding);
+ }
+
+ /**
+ * The stage of the liveevent definition allowing to specify Location.
+ */
+ interface WithLocation {
+ /**
+ * Specifies location.
+ */
+ WithCreate withLocation(String location);
+ }
+
+ /**
+ * The stage of the liveevent definition allowing to specify Preview.
+ */
+ interface WithPreview {
+ /**
+ * Specifies preview.
+ */
+ WithCreate withPreview(LiveEventPreview preview);
+ }
+
+ /**
+ * The stage of the liveevent definition allowing to specify StreamOptions.
+ */
+ interface WithStreamOptions {
+ /**
+ * Specifies streamOptions.
+ */
+ WithCreate withStreamOptions(List streamOptions);
+ }
+
+ /**
+ * The stage of the liveevent definition allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ */
+ WithCreate withTags(Map tags);
+ }
+
+ /**
+ * The stage of the liveevent definition allowing to specify VanityUrl.
+ */
+ interface WithVanityUrl {
+ /**
+ * Specifies vanityUrl.
+ */
+ WithCreate withVanityUrl(Boolean vanityUrl);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithCrossSiteAccessPolicies, DefinitionStages.WithDescription, DefinitionStages.WithEncoding, DefinitionStages.WithLocation, DefinitionStages.WithPreview, DefinitionStages.WithStreamOptions, DefinitionStages.WithTags, DefinitionStages.WithVanityUrl {
+ }
+ }
+ /**
+ * The template for a LiveEvent update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithCrossSiteAccessPolicies, UpdateStages.WithDescription, UpdateStages.WithEncoding, UpdateStages.WithLocation, UpdateStages.WithPreview, UpdateStages.WithStreamOptions, UpdateStages.WithTags, UpdateStages.WithVanityUrl {
+ }
+
+ /**
+ * Grouping of LiveEvent update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the liveevent update allowing to specify CrossSiteAccessPolicies.
+ */
+ interface WithCrossSiteAccessPolicies {
+ /**
+ * Specifies crossSiteAccessPolicies.
+ */
+ Update withCrossSiteAccessPolicies(CrossSiteAccessPolicies crossSiteAccessPolicies);
+ }
+
+ /**
+ * The stage of the liveevent update allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ */
+ Update withDescription(String description);
+ }
+
+ /**
+ * The stage of the liveevent update allowing to specify Encoding.
+ */
+ interface WithEncoding {
+ /**
+ * Specifies encoding.
+ */
+ Update withEncoding(LiveEventEncoding encoding);
+ }
+
+ /**
+ * The stage of the liveevent update allowing to specify Location.
+ */
+ interface WithLocation {
+ /**
+ * Specifies location.
+ */
+ Update withLocation(String location);
+ }
+
+ /**
+ * The stage of the liveevent update allowing to specify Preview.
+ */
+ interface WithPreview {
+ /**
+ * Specifies preview.
+ */
+ Update withPreview(LiveEventPreview preview);
+ }
+
+ /**
+ * The stage of the liveevent update allowing to specify StreamOptions.
+ */
+ interface WithStreamOptions {
+ /**
+ * Specifies streamOptions.
+ */
+ Update withStreamOptions(List streamOptions);
+ }
+
+ /**
+ * The stage of the liveevent update allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ */
+ Update withTags(Map tags);
+ }
+
+ /**
+ * The stage of the liveevent update allowing to specify VanityUrl.
+ */
+ interface WithVanityUrl {
+ /**
+ * Specifies vanityUrl.
+ */
+ Update withVanityUrl(Boolean vanityUrl);
+ }
+
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventActionInput.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventActionInput.java
new file mode 100644
index 000000000000..06e11a34a4e4
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventActionInput.java
@@ -0,0 +1,43 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The LiveEvent action input parameter definition.
+ */
+public class LiveEventActionInput {
+ /**
+ * The flag indicates if remove LiveOutputs on Stop.
+ */
+ @JsonProperty(value = "removeOutputsOnStop")
+ private Boolean removeOutputsOnStop;
+
+ /**
+ * Get the flag indicates if remove LiveOutputs on Stop.
+ *
+ * @return the removeOutputsOnStop value
+ */
+ public Boolean removeOutputsOnStop() {
+ return this.removeOutputsOnStop;
+ }
+
+ /**
+ * Set the flag indicates if remove LiveOutputs on Stop.
+ *
+ * @param removeOutputsOnStop the removeOutputsOnStop value to set
+ * @return the LiveEventActionInput object itself.
+ */
+ public LiveEventActionInput withRemoveOutputsOnStop(Boolean removeOutputsOnStop) {
+ this.removeOutputsOnStop = removeOutputsOnStop;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventEncoding.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventEncoding.java
new file mode 100644
index 000000000000..a97cbad89462
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventEncoding.java
@@ -0,0 +1,71 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The Live Event encoding.
+ */
+public class LiveEventEncoding {
+ /**
+ * The encoding type for Live Event. This value is specified at creation
+ * time and cannot be updated. Possible values include: 'None', 'Basic'.
+ */
+ @JsonProperty(value = "encodingType")
+ private LiveEventEncodingType encodingType;
+
+ /**
+ * The encoding preset name. This value is specified at creation time and
+ * cannot be updated.
+ */
+ @JsonProperty(value = "presetName")
+ private String presetName;
+
+ /**
+ * Get the encoding type for Live Event. This value is specified at creation time and cannot be updated. Possible values include: 'None', 'Basic'.
+ *
+ * @return the encodingType value
+ */
+ public LiveEventEncodingType encodingType() {
+ return this.encodingType;
+ }
+
+ /**
+ * Set the encoding type for Live Event. This value is specified at creation time and cannot be updated. Possible values include: 'None', 'Basic'.
+ *
+ * @param encodingType the encodingType value to set
+ * @return the LiveEventEncoding object itself.
+ */
+ public LiveEventEncoding withEncodingType(LiveEventEncodingType encodingType) {
+ this.encodingType = encodingType;
+ return this;
+ }
+
+ /**
+ * Get the encoding preset name. This value is specified at creation time and cannot be updated.
+ *
+ * @return the presetName value
+ */
+ public String presetName() {
+ return this.presetName;
+ }
+
+ /**
+ * Set the encoding preset name. This value is specified at creation time and cannot be updated.
+ *
+ * @param presetName the presetName value to set
+ * @return the LiveEventEncoding object itself.
+ */
+ public LiveEventEncoding withPresetName(String presetName) {
+ this.presetName = presetName;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventEncodingType.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventEncodingType.java
new file mode 100644
index 000000000000..a3d42eeede63
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventEncodingType.java
@@ -0,0 +1,53 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for LiveEventEncodingType.
+ */
+public enum LiveEventEncodingType {
+ /** Enum value None. */
+ NONE("None"),
+
+ /** Enum value Basic. */
+ BASIC("Basic");
+
+ /** The actual serialized value for a LiveEventEncodingType instance. */
+ private String value;
+
+ LiveEventEncodingType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a LiveEventEncodingType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed LiveEventEncodingType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static LiveEventEncodingType fromString(String value) {
+ LiveEventEncodingType[] items = LiveEventEncodingType.values();
+ for (LiveEventEncodingType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventEndpoint.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventEndpoint.java
new file mode 100644
index 000000000000..df202c3215c4
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventEndpoint.java
@@ -0,0 +1,69 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The Live Event endpoint.
+ */
+public class LiveEventEndpoint {
+ /**
+ * The endpoint protocol.
+ */
+ @JsonProperty(value = "protocol")
+ private String protocol;
+
+ /**
+ * The endpoint URL.
+ */
+ @JsonProperty(value = "url")
+ private String url;
+
+ /**
+ * Get the endpoint protocol.
+ *
+ * @return the protocol value
+ */
+ public String protocol() {
+ return this.protocol;
+ }
+
+ /**
+ * Set the endpoint protocol.
+ *
+ * @param protocol the protocol value to set
+ * @return the LiveEventEndpoint object itself.
+ */
+ public LiveEventEndpoint withProtocol(String protocol) {
+ this.protocol = protocol;
+ return this;
+ }
+
+ /**
+ * Get the endpoint URL.
+ *
+ * @return the url value
+ */
+ public String url() {
+ return this.url;
+ }
+
+ /**
+ * Set the endpoint URL.
+ *
+ * @param url the url value to set
+ * @return the LiveEventEndpoint object itself.
+ */
+ public LiveEventEndpoint withUrl(String url) {
+ this.url = url;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventInput.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventInput.java
new file mode 100644
index 000000000000..89963cd75e8a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventInput.java
@@ -0,0 +1,152 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The Live Event input.
+ */
+public class LiveEventInput {
+ /**
+ * The streaming protocol for the Live Event. This is specified at
+ * creation time and cannot be updated. Possible values include:
+ * 'FragmentedMP4', 'RTMP'.
+ */
+ @JsonProperty(value = "streamingProtocol", required = true)
+ private LiveEventInputProtocol streamingProtocol;
+
+ /**
+ * The access control for LiveEvent Input.
+ */
+ @JsonProperty(value = "accessControl")
+ private LiveEventInputAccessControl accessControl;
+
+ /**
+ * ISO 8601 timespan duration of the key frame interval duration.
+ */
+ @JsonProperty(value = "keyFrameIntervalDuration")
+ private String keyFrameIntervalDuration;
+
+ /**
+ * A unique identifier for a stream. This can be specified at creation
+ * time but cannot be updated. If omitted, the service will generate a
+ * unique value.
+ */
+ @JsonProperty(value = "accessToken")
+ private String accessToken;
+
+ /**
+ * The input endpoints for the Live Event.
+ */
+ @JsonProperty(value = "endpoints")
+ private List endpoints;
+
+ /**
+ * Get the streaming protocol for the Live Event. This is specified at creation time and cannot be updated. Possible values include: 'FragmentedMP4', 'RTMP'.
+ *
+ * @return the streamingProtocol value
+ */
+ public LiveEventInputProtocol streamingProtocol() {
+ return this.streamingProtocol;
+ }
+
+ /**
+ * Set the streaming protocol for the Live Event. This is specified at creation time and cannot be updated. Possible values include: 'FragmentedMP4', 'RTMP'.
+ *
+ * @param streamingProtocol the streamingProtocol value to set
+ * @return the LiveEventInput object itself.
+ */
+ public LiveEventInput withStreamingProtocol(LiveEventInputProtocol streamingProtocol) {
+ this.streamingProtocol = streamingProtocol;
+ return this;
+ }
+
+ /**
+ * Get the access control for LiveEvent Input.
+ *
+ * @return the accessControl value
+ */
+ public LiveEventInputAccessControl accessControl() {
+ return this.accessControl;
+ }
+
+ /**
+ * Set the access control for LiveEvent Input.
+ *
+ * @param accessControl the accessControl value to set
+ * @return the LiveEventInput object itself.
+ */
+ public LiveEventInput withAccessControl(LiveEventInputAccessControl accessControl) {
+ this.accessControl = accessControl;
+ return this;
+ }
+
+ /**
+ * Get iSO 8601 timespan duration of the key frame interval duration.
+ *
+ * @return the keyFrameIntervalDuration value
+ */
+ public String keyFrameIntervalDuration() {
+ return this.keyFrameIntervalDuration;
+ }
+
+ /**
+ * Set iSO 8601 timespan duration of the key frame interval duration.
+ *
+ * @param keyFrameIntervalDuration the keyFrameIntervalDuration value to set
+ * @return the LiveEventInput object itself.
+ */
+ public LiveEventInput withKeyFrameIntervalDuration(String keyFrameIntervalDuration) {
+ this.keyFrameIntervalDuration = keyFrameIntervalDuration;
+ return this;
+ }
+
+ /**
+ * Get a unique identifier for a stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value.
+ *
+ * @return the accessToken value
+ */
+ public String accessToken() {
+ return this.accessToken;
+ }
+
+ /**
+ * Set a unique identifier for a stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value.
+ *
+ * @param accessToken the accessToken value to set
+ * @return the LiveEventInput object itself.
+ */
+ public LiveEventInput withAccessToken(String accessToken) {
+ this.accessToken = accessToken;
+ return this;
+ }
+
+ /**
+ * Get the input endpoints for the Live Event.
+ *
+ * @return the endpoints value
+ */
+ public List endpoints() {
+ return this.endpoints;
+ }
+
+ /**
+ * Set the input endpoints for the Live Event.
+ *
+ * @param endpoints the endpoints value to set
+ * @return the LiveEventInput object itself.
+ */
+ public LiveEventInput withEndpoints(List endpoints) {
+ this.endpoints = endpoints;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventInputAccessControl.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventInputAccessControl.java
new file mode 100644
index 000000000000..a2eb0847a5d5
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventInputAccessControl.java
@@ -0,0 +1,43 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The IP access control for Live Event Input.
+ */
+public class LiveEventInputAccessControl {
+ /**
+ * The IP access control properties.
+ */
+ @JsonProperty(value = "ip")
+ private IPAccessControl ip;
+
+ /**
+ * Get the IP access control properties.
+ *
+ * @return the ip value
+ */
+ public IPAccessControl ip() {
+ return this.ip;
+ }
+
+ /**
+ * Set the IP access control properties.
+ *
+ * @param ip the ip value to set
+ * @return the LiveEventInputAccessControl object itself.
+ */
+ public LiveEventInputAccessControl withIp(IPAccessControl ip) {
+ this.ip = ip;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventInputProtocol.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventInputProtocol.java
new file mode 100644
index 000000000000..7beb4d75c648
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventInputProtocol.java
@@ -0,0 +1,53 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for LiveEventInputProtocol.
+ */
+public enum LiveEventInputProtocol {
+ /** Enum value FragmentedMP4. */
+ FRAGMENTED_MP4("FragmentedMP4"),
+
+ /** Enum value RTMP. */
+ RTMP("RTMP");
+
+ /** The actual serialized value for a LiveEventInputProtocol instance. */
+ private String value;
+
+ LiveEventInputProtocol(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a LiveEventInputProtocol instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed LiveEventInputProtocol object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static LiveEventInputProtocol fromString(String value) {
+ LiveEventInputProtocol[] items = LiveEventInputProtocol.values();
+ for (LiveEventInputProtocol item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventPreview.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventPreview.java
new file mode 100644
index 000000000000..a44c01d19e50
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventPreview.java
@@ -0,0 +1,158 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The Live Event preview.
+ */
+public class LiveEventPreview {
+ /**
+ * The endpoints for preview.
+ */
+ @JsonProperty(value = "endpoints")
+ private List endpoints;
+
+ /**
+ * The access control for LiveEvent preview.
+ */
+ @JsonProperty(value = "accessControl")
+ private LiveEventPreviewAccessControl accessControl;
+
+ /**
+ * The identifier of the preview locator in Guid format. Specifying this
+ * at creation time allows the caller to know the preview locator url
+ * before the event is created. If omitted, the service will generate a
+ * random identifier. This value cannot be updated once the live event is
+ * created.
+ */
+ @JsonProperty(value = "previewLocator")
+ private String previewLocator;
+
+ /**
+ * The name of streaming policy used for the LiveEvent preview. This value
+ * is specified at creation time and cannot be updated.
+ */
+ @JsonProperty(value = "streamingPolicyName")
+ private String streamingPolicyName;
+
+ /**
+ * An Alternative Media Identifier associated with the StreamingLocator
+ * created for the preview. This value is specified at creation time and
+ * cannot be updated. The identifier can be used in the
+ * CustomLicenseAcquisitionUrlTemplate or the
+ * CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the
+ * StreamingPolicyName field.
+ */
+ @JsonProperty(value = "alternativeMediaId")
+ private String alternativeMediaId;
+
+ /**
+ * Get the endpoints for preview.
+ *
+ * @return the endpoints value
+ */
+ public List endpoints() {
+ return this.endpoints;
+ }
+
+ /**
+ * Set the endpoints for preview.
+ *
+ * @param endpoints the endpoints value to set
+ * @return the LiveEventPreview object itself.
+ */
+ public LiveEventPreview withEndpoints(List endpoints) {
+ this.endpoints = endpoints;
+ return this;
+ }
+
+ /**
+ * Get the access control for LiveEvent preview.
+ *
+ * @return the accessControl value
+ */
+ public LiveEventPreviewAccessControl accessControl() {
+ return this.accessControl;
+ }
+
+ /**
+ * Set the access control for LiveEvent preview.
+ *
+ * @param accessControl the accessControl value to set
+ * @return the LiveEventPreview object itself.
+ */
+ public LiveEventPreview withAccessControl(LiveEventPreviewAccessControl accessControl) {
+ this.accessControl = accessControl;
+ return this;
+ }
+
+ /**
+ * Get the identifier of the preview locator in Guid format. Specifying this at creation time allows the caller to know the preview locator url before the event is created. If omitted, the service will generate a random identifier. This value cannot be updated once the live event is created.
+ *
+ * @return the previewLocator value
+ */
+ public String previewLocator() {
+ return this.previewLocator;
+ }
+
+ /**
+ * Set the identifier of the preview locator in Guid format. Specifying this at creation time allows the caller to know the preview locator url before the event is created. If omitted, the service will generate a random identifier. This value cannot be updated once the live event is created.
+ *
+ * @param previewLocator the previewLocator value to set
+ * @return the LiveEventPreview object itself.
+ */
+ public LiveEventPreview withPreviewLocator(String previewLocator) {
+ this.previewLocator = previewLocator;
+ return this;
+ }
+
+ /**
+ * Get the name of streaming policy used for the LiveEvent preview. This value is specified at creation time and cannot be updated.
+ *
+ * @return the streamingPolicyName value
+ */
+ public String streamingPolicyName() {
+ return this.streamingPolicyName;
+ }
+
+ /**
+ * Set the name of streaming policy used for the LiveEvent preview. This value is specified at creation time and cannot be updated.
+ *
+ * @param streamingPolicyName the streamingPolicyName value to set
+ * @return the LiveEventPreview object itself.
+ */
+ public LiveEventPreview withStreamingPolicyName(String streamingPolicyName) {
+ this.streamingPolicyName = streamingPolicyName;
+ return this;
+ }
+
+ /**
+ * Get an Alternative Media Identifier associated with the StreamingLocator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field.
+ *
+ * @return the alternativeMediaId value
+ */
+ public String alternativeMediaId() {
+ return this.alternativeMediaId;
+ }
+
+ /**
+ * Set an Alternative Media Identifier associated with the StreamingLocator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field.
+ *
+ * @param alternativeMediaId the alternativeMediaId value to set
+ * @return the LiveEventPreview object itself.
+ */
+ public LiveEventPreview withAlternativeMediaId(String alternativeMediaId) {
+ this.alternativeMediaId = alternativeMediaId;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventPreviewAccessControl.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventPreviewAccessControl.java
new file mode 100644
index 000000000000..cfea5dd674ea
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventPreviewAccessControl.java
@@ -0,0 +1,43 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The IP access control for Live Event preview.
+ */
+public class LiveEventPreviewAccessControl {
+ /**
+ * The IP access control properties.
+ */
+ @JsonProperty(value = "ip")
+ private IPAccessControl ip;
+
+ /**
+ * Get the IP access control properties.
+ *
+ * @return the ip value
+ */
+ public IPAccessControl ip() {
+ return this.ip;
+ }
+
+ /**
+ * Set the IP access control properties.
+ *
+ * @param ip the ip value to set
+ * @return the LiveEventPreviewAccessControl object itself.
+ */
+ public LiveEventPreviewAccessControl withIp(IPAccessControl ip) {
+ this.ip = ip;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventResourceState.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventResourceState.java
new file mode 100644
index 000000000000..8e0f75fb89e3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEventResourceState.java
@@ -0,0 +1,62 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for LiveEventResourceState.
+ */
+public enum LiveEventResourceState {
+ /** Enum value Stopped. */
+ STOPPED("Stopped"),
+
+ /** Enum value Starting. */
+ STARTING("Starting"),
+
+ /** Enum value Running. */
+ RUNNING("Running"),
+
+ /** Enum value Stopping. */
+ STOPPING("Stopping"),
+
+ /** Enum value Deleting. */
+ DELETING("Deleting");
+
+ /** The actual serialized value for a LiveEventResourceState instance. */
+ private String value;
+
+ LiveEventResourceState(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a LiveEventResourceState instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed LiveEventResourceState object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static LiveEventResourceState fromString(String value) {
+ LiveEventResourceState[] items = LiveEventResourceState.values();
+ for (LiveEventResourceState item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEvents.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEvents.java
new file mode 100644
index 000000000000..7133b972a395
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveEvents.java
@@ -0,0 +1,92 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.LiveEventsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing LiveEvents.
+ */
+public interface LiveEvents extends SupportsCreating, HasInner {
+ /**
+ * Start Live Event.
+ * Starts an existing Live Event.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param liveEventName The name of the Live Event.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable startAsync(String resourceGroupName, String accountName, String liveEventName);
+
+ /**
+ * Stop Live Event.
+ * Stops an existing Live Event.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param liveEventName The name of the Live Event.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable stopAsync(String resourceGroupName, String accountName, String liveEventName);
+
+ /**
+ * Reset Live Event.
+ * Resets an existing Live Event.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param liveEventName The name of the Live Event.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable resetAsync(String resourceGroupName, String accountName, String liveEventName);
+
+ /**
+ * Get Live Event.
+ * Gets a Live Event.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param liveEventName The name of the Live Event.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String accountName, String liveEventName);
+
+ /**
+ * List Live Events.
+ * Lists the Live Events in the account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String accountName);
+
+ /**
+ * Delete Live Event.
+ * Deletes a Live Event.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param liveEventName The name of the Live Event.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String accountName, String liveEventName);
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveOutput.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveOutput.java
new file mode 100644
index 000000000000..42d6861e9527
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveOutput.java
@@ -0,0 +1,237 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.LiveOutputInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import org.joda.time.Period;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing LiveOutput.
+ */
+public interface LiveOutput extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the archiveWindowLength value.
+ */
+ Period archiveWindowLength();
+
+ /**
+ * @return the assetName value.
+ */
+ String assetName();
+
+ /**
+ * @return the created value.
+ */
+ DateTime created();
+
+ /**
+ * @return the description value.
+ */
+ String description();
+
+ /**
+ * @return the hls value.
+ */
+ Hls hls();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the lastModified value.
+ */
+ DateTime lastModified();
+
+ /**
+ * @return the manifestName value.
+ */
+ String manifestName();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the outputSnapTime value.
+ */
+ Long outputSnapTime();
+
+ /**
+ * @return the provisioningState value.
+ */
+ String provisioningState();
+
+ /**
+ * @return the resourceState value.
+ */
+ LiveOutputResourceState resourceState();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the LiveOutput definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithLiveEvent, DefinitionStages.WithArchiveWindowLength, DefinitionStages.WithAssetName, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of LiveOutput definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a LiveOutput definition.
+ */
+ interface Blank extends WithLiveEvent {
+ }
+
+ /**
+ * The stage of the liveoutput definition allowing to specify LiveEvent.
+ */
+ interface WithLiveEvent {
+ /**
+ * Specifies resourceGroupName, accountName, liveEventName.
+ */
+ WithArchiveWindowLength withExistingLiveEvent(String resourceGroupName, String accountName, String liveEventName);
+ }
+
+ /**
+ * The stage of the liveoutput definition allowing to specify ArchiveWindowLength.
+ */
+ interface WithArchiveWindowLength {
+ /**
+ * Specifies archiveWindowLength.
+ */
+ WithAssetName withArchiveWindowLength(Period archiveWindowLength);
+ }
+
+ /**
+ * The stage of the liveoutput definition allowing to specify AssetName.
+ */
+ interface WithAssetName {
+ /**
+ * Specifies assetName.
+ */
+ WithCreate withAssetName(String assetName);
+ }
+
+ /**
+ * The stage of the liveoutput definition allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ */
+ WithCreate withDescription(String description);
+ }
+
+ /**
+ * The stage of the liveoutput definition allowing to specify Hls.
+ */
+ interface WithHls {
+ /**
+ * Specifies hls.
+ */
+ WithCreate withHls(Hls hls);
+ }
+
+ /**
+ * The stage of the liveoutput definition allowing to specify ManifestName.
+ */
+ interface WithManifestName {
+ /**
+ * Specifies manifestName.
+ */
+ WithCreate withManifestName(String manifestName);
+ }
+
+ /**
+ * The stage of the liveoutput definition allowing to specify OutputSnapTime.
+ */
+ interface WithOutputSnapTime {
+ /**
+ * Specifies outputSnapTime.
+ */
+ WithCreate withOutputSnapTime(Long outputSnapTime);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithDescription, DefinitionStages.WithHls, DefinitionStages.WithManifestName, DefinitionStages.WithOutputSnapTime {
+ }
+ }
+ /**
+ * The template for a LiveOutput update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithDescription, UpdateStages.WithHls, UpdateStages.WithManifestName, UpdateStages.WithOutputSnapTime {
+ }
+
+ /**
+ * Grouping of LiveOutput update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the liveoutput update allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ */
+ Update withDescription(String description);
+ }
+
+ /**
+ * The stage of the liveoutput update allowing to specify Hls.
+ */
+ interface WithHls {
+ /**
+ * Specifies hls.
+ */
+ Update withHls(Hls hls);
+ }
+
+ /**
+ * The stage of the liveoutput update allowing to specify ManifestName.
+ */
+ interface WithManifestName {
+ /**
+ * Specifies manifestName.
+ */
+ Update withManifestName(String manifestName);
+ }
+
+ /**
+ * The stage of the liveoutput update allowing to specify OutputSnapTime.
+ */
+ interface WithOutputSnapTime {
+ /**
+ * Specifies outputSnapTime.
+ */
+ Update withOutputSnapTime(Long outputSnapTime);
+ }
+
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveOutputResourceState.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveOutputResourceState.java
new file mode 100644
index 000000000000..8a3b4e2b6580
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveOutputResourceState.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for LiveOutputResourceState.
+ */
+public enum LiveOutputResourceState {
+ /** Enum value Creating. */
+ CREATING("Creating"),
+
+ /** Enum value Running. */
+ RUNNING("Running"),
+
+ /** Enum value Deleting. */
+ DELETING("Deleting");
+
+ /** The actual serialized value for a LiveOutputResourceState instance. */
+ private String value;
+
+ LiveOutputResourceState(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a LiveOutputResourceState instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed LiveOutputResourceState object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static LiveOutputResourceState fromString(String value) {
+ LiveOutputResourceState[] items = LiveOutputResourceState.values();
+ for (LiveOutputResourceState item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveOutputs.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveOutputs.java
new file mode 100644
index 000000000000..4c06ce4b560e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/LiveOutputs.java
@@ -0,0 +1,59 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.LiveOutputsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing LiveOutputs.
+ */
+public interface LiveOutputs extends SupportsCreating, HasInner {
+ /**
+ * Get Live Output.
+ * Gets a Live Output.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param liveEventName The name of the Live Event.
+ * @param liveOutputName The name of the Live Output.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String accountName, String liveEventName, String liveOutputName);
+
+ /**
+ * List Live Outputs.
+ * Lists the Live Outputs in the Live Event.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param liveEventName The name of the Live Event.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String accountName, final String liveEventName);
+
+ /**
+ * Delete Live Output.
+ * Deletes a Live Output.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param liveEventName The name of the Live Event.
+ * @param liveOutputName The name of the Live Output.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String accountName, String liveEventName, String liveOutputName);
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Locations.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Locations.java
new file mode 100644
index 000000000000..370c6da70231
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Locations.java
@@ -0,0 +1,30 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.LocationsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Locations.
+ */
+public interface Locations extends HasInner {
+ /**
+ * Check Name Availability.
+ * Checks whether the Media Service resource name is available.
+ *
+ * @param locationName The name of the location
+ * @param parameters The request parameters
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable checkNameAvailabilityAsync(String locationName, CheckNameAvailabilityInput parameters);
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MediaService.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MediaService.java
new file mode 100644
index 000000000000..bf5b73d16ad1
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MediaService.java
@@ -0,0 +1,100 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import java.util.UUID;
+import java.util.List;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaServiceInner;
+
+/**
+ * Type representing MediaService.
+ */
+public interface MediaService extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the mediaServiceId value.
+ */
+ UUID mediaServiceId();
+
+ /**
+ * @return the storageAccounts value.
+ */
+ List storageAccounts();
+
+ /**
+ * The entirety of the MediaService definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of MediaService definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a MediaService definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the MediaService definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the mediaservice update allowing to specify StorageAccounts.
+ */
+ interface WithStorageAccounts {
+ /**
+ * Specifies storageAccounts.
+ */
+ WithCreate withStorageAccounts(List storageAccounts);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithStorageAccounts {
+ }
+ }
+ /**
+ * The template for a MediaService update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithStorageAccounts {
+ }
+
+ /**
+ * Grouping of MediaService update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the mediaservice {0} allowing to specify StorageAccounts.
+ */
+ interface WithStorageAccounts {
+ /**
+ * Specifies storageAccounts.
+ */
+ Update withStorageAccounts(List storageAccounts);
+ }
+
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Mediaservices.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Mediaservices.java
new file mode 100644
index 000000000000..b7fef66a027a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Mediaservices.java
@@ -0,0 +1,47 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup;
+import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion;
+import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup;
+import rx.Observable;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import rx.Completable;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaservicesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Mediaservices.
+ */
+public interface Mediaservices extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+ /**
+ * Synchronizes Storage Account Keys.
+ * Synchronizes storage account keys for a storage account associated with the Media Service account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable syncStorageKeysAsync(String resourceGroupName, String accountName);
+
+ /**
+ * Get a Media Services account.
+ * Get the details of a Media Services account.
+ *
+ * @param accountName The Media Services account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getBySubscriptionAsync(String accountName);
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Metric.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Metric.java
new file mode 100644
index 000000000000..4ea532380ced
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Metric.java
@@ -0,0 +1,110 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * A metric emitted by service.
+ */
+public class Metric {
+ /**
+ * The metric name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /**
+ * The metric display name.
+ */
+ @JsonProperty(value = "displayName", access = JsonProperty.Access.WRITE_ONLY)
+ private String displayName;
+
+ /**
+ * The metric display description.
+ */
+ @JsonProperty(value = "displayDescription", access = JsonProperty.Access.WRITE_ONLY)
+ private String displayDescription;
+
+ /**
+ * The metric unit. Possible values include: 'Bytes', 'Count',
+ * 'Milliseconds'.
+ */
+ @JsonProperty(value = "unit", access = JsonProperty.Access.WRITE_ONLY)
+ private MetricUnit unit;
+
+ /**
+ * The metric aggregation type. Possible values include: 'Average',
+ * 'Count', 'Total'.
+ */
+ @JsonProperty(value = "aggregationType", access = JsonProperty.Access.WRITE_ONLY)
+ private MetricAggregationType aggregationType;
+
+ /**
+ * The metric dimensions.
+ */
+ @JsonProperty(value = "dimensions", access = JsonProperty.Access.WRITE_ONLY)
+ private List dimensions;
+
+ /**
+ * Get the metric name.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the metric display name.
+ *
+ * @return the displayName value
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Get the metric display description.
+ *
+ * @return the displayDescription value
+ */
+ public String displayDescription() {
+ return this.displayDescription;
+ }
+
+ /**
+ * Get the metric unit. Possible values include: 'Bytes', 'Count', 'Milliseconds'.
+ *
+ * @return the unit value
+ */
+ public MetricUnit unit() {
+ return this.unit;
+ }
+
+ /**
+ * Get the metric aggregation type. Possible values include: 'Average', 'Count', 'Total'.
+ *
+ * @return the aggregationType value
+ */
+ public MetricAggregationType aggregationType() {
+ return this.aggregationType;
+ }
+
+ /**
+ * Get the metric dimensions.
+ *
+ * @return the dimensions value
+ */
+ public List dimensions() {
+ return this.dimensions;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MetricAggregationType.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MetricAggregationType.java
new file mode 100644
index 000000000000..46af6201497f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MetricAggregationType.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for MetricAggregationType.
+ */
+public enum MetricAggregationType {
+ /** The average. */
+ AVERAGE("Average"),
+
+ /** The count of a number of items, usually requests. */
+ COUNT("Count"),
+
+ /** The sum. */
+ TOTAL("Total");
+
+ /** The actual serialized value for a MetricAggregationType instance. */
+ private String value;
+
+ MetricAggregationType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a MetricAggregationType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed MetricAggregationType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static MetricAggregationType fromString(String value) {
+ MetricAggregationType[] items = MetricAggregationType.values();
+ for (MetricAggregationType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MetricDimension.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MetricDimension.java
new file mode 100644
index 000000000000..309c07a84ea4
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MetricDimension.java
@@ -0,0 +1,62 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * A metric dimension.
+ */
+public class MetricDimension {
+ /**
+ * The metric dimension name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /**
+ * The display name for the dimension.
+ */
+ @JsonProperty(value = "displayName", access = JsonProperty.Access.WRITE_ONLY)
+ private String displayName;
+
+ /**
+ * Whether to export metric to shoebox.
+ */
+ @JsonProperty(value = "toBeExportedForShoebox", access = JsonProperty.Access.WRITE_ONLY)
+ private boolean toBeExportedForShoebox;
+
+ /**
+ * Get the metric dimension name.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the display name for the dimension.
+ *
+ * @return the displayName value
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Get whether to export metric to shoebox.
+ *
+ * @return the toBeExportedForShoebox value
+ */
+ public boolean toBeExportedForShoebox() {
+ return this.toBeExportedForShoebox;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MetricProperties.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MetricProperties.java
new file mode 100644
index 000000000000..a4f5f2442e91
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MetricProperties.java
@@ -0,0 +1,32 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Metric properties.
+ */
+public class MetricProperties {
+ /**
+ * The service specifications.
+ */
+ @JsonProperty(value = "serviceSpecification", access = JsonProperty.Access.WRITE_ONLY)
+ private ServiceSpecification serviceSpecification;
+
+ /**
+ * Get the service specifications.
+ *
+ * @return the serviceSpecification value
+ */
+ public ServiceSpecification serviceSpecification() {
+ return this.serviceSpecification;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MetricUnit.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MetricUnit.java
new file mode 100644
index 000000000000..02d2259f4c3b
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MetricUnit.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for MetricUnit.
+ */
+public enum MetricUnit {
+ /** The number of bytes. */
+ BYTES("Bytes"),
+
+ /** The count. */
+ COUNT("Count"),
+
+ /** The number of milliseconds. */
+ MILLISECONDS("Milliseconds");
+
+ /** The actual serialized value for a MetricUnit instance. */
+ private String value;
+
+ MetricUnit(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a MetricUnit instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed MetricUnit object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static MetricUnit fromString(String value) {
+ MetricUnit[] items = MetricUnit.values();
+ for (MetricUnit item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Mp4Format.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Mp4Format.java
new file mode 100644
index 000000000000..09015d97b5a2
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Mp4Format.java
@@ -0,0 +1,20 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes the properties for an output ISO MP4 file.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.Mp4Format")
+public class Mp4Format extends MultiBitrateFormat {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MultiBitrateFormat.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MultiBitrateFormat.java
new file mode 100644
index 000000000000..923d1935e660
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/MultiBitrateFormat.java
@@ -0,0 +1,58 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Describes the properties for producing a collection of GOP aligned
+ * multi-bitrate files. The default behavior is to produce one output file for
+ * each video layer which is muxed together with all the audios. The exact
+ * output files produced can be controlled by specifying the outputFiles
+ * collection.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.MultiBitrateFormat")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.Mp4Format", value = Mp4Format.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.TransportStreamFormat", value = TransportStreamFormat.class)
+})
+public class MultiBitrateFormat extends Format {
+ /**
+ * The list of output files to produce. Each entry in the list is a set of
+ * audio and video layer labels to be muxed together .
+ */
+ @JsonProperty(value = "outputFiles")
+ private List outputFiles;
+
+ /**
+ * Get the list of output files to produce. Each entry in the list is a set of audio and video layer labels to be muxed together .
+ *
+ * @return the outputFiles value
+ */
+ public List outputFiles() {
+ return this.outputFiles;
+ }
+
+ /**
+ * Set the list of output files to produce. Each entry in the list is a set of audio and video layer labels to be muxed together .
+ *
+ * @param outputFiles the outputFiles value to set
+ * @return the MultiBitrateFormat object itself.
+ */
+ public MultiBitrateFormat withOutputFiles(List outputFiles) {
+ this.outputFiles = outputFiles;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/NoEncryption.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/NoEncryption.java
new file mode 100644
index 000000000000..841179ab89b4
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/NoEncryption.java
@@ -0,0 +1,43 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class for NoEncryption scheme.
+ */
+public class NoEncryption {
+ /**
+ * Representing supported protocols.
+ */
+ @JsonProperty(value = "enabledProtocols")
+ private EnabledProtocols enabledProtocols;
+
+ /**
+ * Get representing supported protocols.
+ *
+ * @return the enabledProtocols value
+ */
+ public EnabledProtocols enabledProtocols() {
+ return this.enabledProtocols;
+ }
+
+ /**
+ * Set representing supported protocols.
+ *
+ * @param enabledProtocols the enabledProtocols value to set
+ * @return the NoEncryption object itself.
+ */
+ public NoEncryption withEnabledProtocols(EnabledProtocols enabledProtocols) {
+ this.enabledProtocols = enabledProtocols;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ODataError.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ODataError.java
new file mode 100644
index 000000000000..89dd1b158601
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ODataError.java
@@ -0,0 +1,123 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Information about an error.
+ */
+public class ODataError {
+ /**
+ * A language-independent error name.
+ */
+ @JsonProperty(value = "code")
+ private String code;
+
+ /**
+ * The error message.
+ */
+ @JsonProperty(value = "message")
+ private String message;
+
+ /**
+ * The target of the error (for example, the name of the property in
+ * error).
+ */
+ @JsonProperty(value = "target")
+ private String target;
+
+ /**
+ * The error details.
+ */
+ @JsonProperty(value = "details")
+ private List details;
+
+ /**
+ * Get a language-independent error name.
+ *
+ * @return the code value
+ */
+ public String code() {
+ return this.code;
+ }
+
+ /**
+ * Set a language-independent error name.
+ *
+ * @param code the code value to set
+ * @return the ODataError object itself.
+ */
+ public ODataError withCode(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Get the error message.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set the error message.
+ *
+ * @param message the message value to set
+ * @return the ODataError object itself.
+ */
+ public ODataError withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Get the target of the error (for example, the name of the property in error).
+ *
+ * @return the target value
+ */
+ public String target() {
+ return this.target;
+ }
+
+ /**
+ * Set the target of the error (for example, the name of the property in error).
+ *
+ * @param target the target value to set
+ * @return the ODataError object itself.
+ */
+ public ODataError withTarget(String target) {
+ this.target = target;
+ return this;
+ }
+
+ /**
+ * Get the error details.
+ *
+ * @return the details value
+ */
+ public List details() {
+ return this.details;
+ }
+
+ /**
+ * Set the error details.
+ *
+ * @param details the details value to set
+ * @return the ODataError object itself.
+ */
+ public ODataError withDetails(List details) {
+ this.details = details;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/OnErrorType.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/OnErrorType.java
new file mode 100644
index 000000000000..e1a82fea5109
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/OnErrorType.java
@@ -0,0 +1,53 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for OnErrorType.
+ */
+public enum OnErrorType {
+ /** Tells the service that if this TransformOutput fails, then any other incomplete TransformOutputs can be stopped. */
+ STOP_PROCESSING_JOB("StopProcessingJob"),
+
+ /** Tells the service that if this TransformOutput fails, then allow any other TransformOutput to continue. */
+ CONTINUE_JOB("ContinueJob");
+
+ /** The actual serialized value for a OnErrorType instance. */
+ private String value;
+
+ OnErrorType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a OnErrorType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed OnErrorType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static OnErrorType fromString(String value) {
+ OnErrorType[] items = OnErrorType.values();
+ for (OnErrorType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Operation.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Operation.java
new file mode 100644
index 000000000000..225fd4e8de14
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Operation.java
@@ -0,0 +1,40 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.OperationInner;
+
+/**
+ * Type representing Operation.
+ */
+public interface Operation extends HasInner, HasManager {
+ /**
+ * @return the display value.
+ */
+ OperationDisplay display();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the origin value.
+ */
+ String origin();
+
+ /**
+ * @return the properties value.
+ */
+ MetricProperties properties();
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/OperationDisplay.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/OperationDisplay.java
new file mode 100644
index 000000000000..88347d582927
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/OperationDisplay.java
@@ -0,0 +1,121 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Operation details.
+ */
+public class OperationDisplay {
+ /**
+ * The service provider.
+ */
+ @JsonProperty(value = "provider")
+ private String provider;
+
+ /**
+ * Resource on which the operation is performed.
+ */
+ @JsonProperty(value = "resource")
+ private String resource;
+
+ /**
+ * The operation type.
+ */
+ @JsonProperty(value = "operation")
+ private String operation;
+
+ /**
+ * The operation description.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /**
+ * Get the service provider.
+ *
+ * @return the provider value
+ */
+ public String provider() {
+ return this.provider;
+ }
+
+ /**
+ * Set the service provider.
+ *
+ * @param provider the provider value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withProvider(String provider) {
+ this.provider = provider;
+ return this;
+ }
+
+ /**
+ * Get resource on which the operation is performed.
+ *
+ * @return the resource value
+ */
+ public String resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set resource on which the operation is performed.
+ *
+ * @param resource the resource value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withResource(String resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get the operation type.
+ *
+ * @return the operation value
+ */
+ public String operation() {
+ return this.operation;
+ }
+
+ /**
+ * Set the operation type.
+ *
+ * @param operation the operation value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withOperation(String operation) {
+ this.operation = operation;
+ return this;
+ }
+
+ /**
+ * Get the operation description.
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the operation description.
+ *
+ * @param description the description value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Operations.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Operations.java
new file mode 100644
index 000000000000..0205807425e3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Operations.java
@@ -0,0 +1,28 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.OperationsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Operations.
+ */
+public interface Operations extends HasInner {
+ /**
+ * List Operations.
+ * Lists all the Media Services operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/OutputFile.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/OutputFile.java
new file mode 100644
index 000000000000..3f9f7e34556d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/OutputFile.java
@@ -0,0 +1,49 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Represents an output file produced.
+ */
+public class OutputFile {
+ /**
+ * The list of labels that describe how the encoder should multiplex video
+ * and audio into an output file. For example, if the encoder is producing
+ * two video layers with labels v1 and v2, and one audio layer with label
+ * a1, then an array like '[v1, a1]' tells the encoder to produce an output
+ * file with the video track represented by v1 and the audio track
+ * represented by a1.
+ */
+ @JsonProperty(value = "labels")
+ private List labels;
+
+ /**
+ * Get the list of labels that describe how the encoder should multiplex video and audio into an output file. For example, if the encoder is producing two video layers with labels v1 and v2, and one audio layer with label a1, then an array like '[v1, a1]' tells the encoder to produce an output file with the video track represented by v1 and the audio track represented by a1.
+ *
+ * @return the labels value
+ */
+ public List labels() {
+ return this.labels;
+ }
+
+ /**
+ * Set the list of labels that describe how the encoder should multiplex video and audio into an output file. For example, if the encoder is producing two video layers with labels v1 and v2, and one audio layer with label a1, then an array like '[v1, a1]' tells the encoder to produce an output file with the video track represented by v1 and the audio track represented by a1.
+ *
+ * @param labels the labels value to set
+ * @return the OutputFile object itself.
+ */
+ public OutputFile withLabels(List labels) {
+ this.labels = labels;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Overlay.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Overlay.java
new file mode 100644
index 000000000000..6926b28bb211
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Overlay.java
@@ -0,0 +1,200 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import org.joda.time.Period;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Base type for all overlays - image, audio or video.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("Overlay")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.AudioOverlay", value = AudioOverlay.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.VideoOverlay", value = VideoOverlay.class)
+})
+public class Overlay {
+ /**
+ * The label of the job input which is to be used as an overlay. The Input
+ * must specify exactly one file. You can specify an image file in JPG or
+ * PNG formats, or an audio file (such as a WAV, MP3, WMA or M4A file), or
+ * a video file. See https://aka.ms/mesformats for the complete list of
+ * supported audio and video file formats.
+ */
+ @JsonProperty(value = "inputLabel")
+ private String inputLabel;
+
+ /**
+ * The start position, with reference to the input video, at which the
+ * overlay starts. The value should be in ISO 8601 format. For example,
+ * PT05S to start the overlay at 5 seconds in to the input video. If not
+ * specified the overlay starts from the beginning of the input video.
+ */
+ @JsonProperty(value = "start")
+ private Period start;
+
+ /**
+ * The position in the input video at which the overlay ends. The value
+ * should be in ISO 8601 duration format. For example, PT30S to end the
+ * overlay at 30 seconds in to the input video. If not specified the
+ * overlay will be applied until the end of the input video if inputLoop is
+ * true. Else, if inputLoop is false, then overlay will last as long as the
+ * duration of the overlay media.
+ */
+ @JsonProperty(value = "end")
+ private Period end;
+
+ /**
+ * The duration over which the overlay fades in onto the input video. The
+ * value should be in ISO 8601 duration format. If not specified the
+ * default behavior is to have no fade in (same as PT0S).
+ */
+ @JsonProperty(value = "fadeInDuration")
+ private Period fadeInDuration;
+
+ /**
+ * The duration over which the overlay fades out of the input video. The
+ * value should be in ISO 8601 duration format. If not specified the
+ * default behavior is to have no fade out (same as PT0S).
+ */
+ @JsonProperty(value = "fadeOutDuration")
+ private Period fadeOutDuration;
+
+ /**
+ * The gain level of audio in the overlay. The value should be in the range
+ * [0, 1.0]. The default is 1.0.
+ */
+ @JsonProperty(value = "audioGainLevel")
+ private Double audioGainLevel;
+
+ /**
+ * Get the label of the job input which is to be used as an overlay. The Input must specify exactly one file. You can specify an image file in JPG or PNG formats, or an audio file (such as a WAV, MP3, WMA or M4A file), or a video file. See https://aka.ms/mesformats for the complete list of supported audio and video file formats.
+ *
+ * @return the inputLabel value
+ */
+ public String inputLabel() {
+ return this.inputLabel;
+ }
+
+ /**
+ * Set the label of the job input which is to be used as an overlay. The Input must specify exactly one file. You can specify an image file in JPG or PNG formats, or an audio file (such as a WAV, MP3, WMA or M4A file), or a video file. See https://aka.ms/mesformats for the complete list of supported audio and video file formats.
+ *
+ * @param inputLabel the inputLabel value to set
+ * @return the Overlay object itself.
+ */
+ public Overlay withInputLabel(String inputLabel) {
+ this.inputLabel = inputLabel;
+ return this;
+ }
+
+ /**
+ * Get the start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds in to the input video. If not specified the overlay starts from the beginning of the input video.
+ *
+ * @return the start value
+ */
+ public Period start() {
+ return this.start;
+ }
+
+ /**
+ * Set the start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds in to the input video. If not specified the overlay starts from the beginning of the input video.
+ *
+ * @param start the start value to set
+ * @return the Overlay object itself.
+ */
+ public Overlay withStart(Period start) {
+ this.start = start;
+ return this;
+ }
+
+ /**
+ * Get the position in the input video at which the overlay ends. The value should be in ISO 8601 duration format. For example, PT30S to end the overlay at 30 seconds in to the input video. If not specified the overlay will be applied until the end of the input video if inputLoop is true. Else, if inputLoop is false, then overlay will last as long as the duration of the overlay media.
+ *
+ * @return the end value
+ */
+ public Period end() {
+ return this.end;
+ }
+
+ /**
+ * Set the position in the input video at which the overlay ends. The value should be in ISO 8601 duration format. For example, PT30S to end the overlay at 30 seconds in to the input video. If not specified the overlay will be applied until the end of the input video if inputLoop is true. Else, if inputLoop is false, then overlay will last as long as the duration of the overlay media.
+ *
+ * @param end the end value to set
+ * @return the Overlay object itself.
+ */
+ public Overlay withEnd(Period end) {
+ this.end = end;
+ return this;
+ }
+
+ /**
+ * Get the duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade in (same as PT0S).
+ *
+ * @return the fadeInDuration value
+ */
+ public Period fadeInDuration() {
+ return this.fadeInDuration;
+ }
+
+ /**
+ * Set the duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade in (same as PT0S).
+ *
+ * @param fadeInDuration the fadeInDuration value to set
+ * @return the Overlay object itself.
+ */
+ public Overlay withFadeInDuration(Period fadeInDuration) {
+ this.fadeInDuration = fadeInDuration;
+ return this;
+ }
+
+ /**
+ * Get the duration over which the overlay fades out of the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade out (same as PT0S).
+ *
+ * @return the fadeOutDuration value
+ */
+ public Period fadeOutDuration() {
+ return this.fadeOutDuration;
+ }
+
+ /**
+ * Set the duration over which the overlay fades out of the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade out (same as PT0S).
+ *
+ * @param fadeOutDuration the fadeOutDuration value to set
+ * @return the Overlay object itself.
+ */
+ public Overlay withFadeOutDuration(Period fadeOutDuration) {
+ this.fadeOutDuration = fadeOutDuration;
+ return this;
+ }
+
+ /**
+ * Get the gain level of audio in the overlay. The value should be in the range [0, 1.0]. The default is 1.0.
+ *
+ * @return the audioGainLevel value
+ */
+ public Double audioGainLevel() {
+ return this.audioGainLevel;
+ }
+
+ /**
+ * Set the gain level of audio in the overlay. The value should be in the range [0, 1.0]. The default is 1.0.
+ *
+ * @param audioGainLevel the audioGainLevel value to set
+ * @return the Overlay object itself.
+ */
+ public Overlay withAudioGainLevel(Double audioGainLevel) {
+ this.audioGainLevel = audioGainLevel;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/PngFormat.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/PngFormat.java
new file mode 100644
index 000000000000..467f8c1488c5
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/PngFormat.java
@@ -0,0 +1,20 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes the settings for producing PNG thumbnails.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.PngFormat")
+public class PngFormat extends ImageFormat {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/PngImage.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/PngImage.java
new file mode 100644
index 000000000000..a52a249ed643
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/PngImage.java
@@ -0,0 +1,49 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes the properties for producing a series of PNG images from the input
+ * video.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.PngImage")
+public class PngImage extends Image {
+ /**
+ * A collection of output PNG image layers to be produced by the encoder.
+ */
+ @JsonProperty(value = "layers")
+ private List layers;
+
+ /**
+ * Get a collection of output PNG image layers to be produced by the encoder.
+ *
+ * @return the layers value
+ */
+ public List layers() {
+ return this.layers;
+ }
+
+ /**
+ * Set a collection of output PNG image layers to be produced by the encoder.
+ *
+ * @param layers the layers value to set
+ * @return the PngImage object itself.
+ */
+ public PngImage withLayers(List layers) {
+ this.layers = layers;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/PngLayer.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/PngLayer.java
new file mode 100644
index 000000000000..74a73599294a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/PngLayer.java
@@ -0,0 +1,20 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes the settings to produce a PNG image from the input video.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.PngLayer")
+public class PngLayer extends Layer {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/PresentationTimeRange.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/PresentationTimeRange.java
new file mode 100644
index 000000000000..f2e34d8c91cf
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/PresentationTimeRange.java
@@ -0,0 +1,174 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The presentation time range, this is asset related and not recommended for
+ * Account Filter.
+ */
+public class PresentationTimeRange {
+ /**
+ * The absolute start time boundary.
+ */
+ @JsonProperty(value = "startTimestamp", required = true)
+ private long startTimestamp;
+
+ /**
+ * The absolute end time boundary.
+ */
+ @JsonProperty(value = "endTimestamp", required = true)
+ private long endTimestamp;
+
+ /**
+ * The relative to end sliding window.
+ */
+ @JsonProperty(value = "presentationWindowDuration", required = true)
+ private long presentationWindowDuration;
+
+ /**
+ * The relative to end right edge.
+ */
+ @JsonProperty(value = "liveBackoffDuration", required = true)
+ private long liveBackoffDuration;
+
+ /**
+ * The time scale of time stamps.
+ */
+ @JsonProperty(value = "timescale", required = true)
+ private long timescale;
+
+ /**
+ * The indicator of forcing exsiting of end time stamp.
+ */
+ @JsonProperty(value = "forceEndTimestamp", required = true)
+ private boolean forceEndTimestamp;
+
+ /**
+ * Get the absolute start time boundary.
+ *
+ * @return the startTimestamp value
+ */
+ public long startTimestamp() {
+ return this.startTimestamp;
+ }
+
+ /**
+ * Set the absolute start time boundary.
+ *
+ * @param startTimestamp the startTimestamp value to set
+ * @return the PresentationTimeRange object itself.
+ */
+ public PresentationTimeRange withStartTimestamp(long startTimestamp) {
+ this.startTimestamp = startTimestamp;
+ return this;
+ }
+
+ /**
+ * Get the absolute end time boundary.
+ *
+ * @return the endTimestamp value
+ */
+ public long endTimestamp() {
+ return this.endTimestamp;
+ }
+
+ /**
+ * Set the absolute end time boundary.
+ *
+ * @param endTimestamp the endTimestamp value to set
+ * @return the PresentationTimeRange object itself.
+ */
+ public PresentationTimeRange withEndTimestamp(long endTimestamp) {
+ this.endTimestamp = endTimestamp;
+ return this;
+ }
+
+ /**
+ * Get the relative to end sliding window.
+ *
+ * @return the presentationWindowDuration value
+ */
+ public long presentationWindowDuration() {
+ return this.presentationWindowDuration;
+ }
+
+ /**
+ * Set the relative to end sliding window.
+ *
+ * @param presentationWindowDuration the presentationWindowDuration value to set
+ * @return the PresentationTimeRange object itself.
+ */
+ public PresentationTimeRange withPresentationWindowDuration(long presentationWindowDuration) {
+ this.presentationWindowDuration = presentationWindowDuration;
+ return this;
+ }
+
+ /**
+ * Get the relative to end right edge.
+ *
+ * @return the liveBackoffDuration value
+ */
+ public long liveBackoffDuration() {
+ return this.liveBackoffDuration;
+ }
+
+ /**
+ * Set the relative to end right edge.
+ *
+ * @param liveBackoffDuration the liveBackoffDuration value to set
+ * @return the PresentationTimeRange object itself.
+ */
+ public PresentationTimeRange withLiveBackoffDuration(long liveBackoffDuration) {
+ this.liveBackoffDuration = liveBackoffDuration;
+ return this;
+ }
+
+ /**
+ * Get the time scale of time stamps.
+ *
+ * @return the timescale value
+ */
+ public long timescale() {
+ return this.timescale;
+ }
+
+ /**
+ * Set the time scale of time stamps.
+ *
+ * @param timescale the timescale value to set
+ * @return the PresentationTimeRange object itself.
+ */
+ public PresentationTimeRange withTimescale(long timescale) {
+ this.timescale = timescale;
+ return this;
+ }
+
+ /**
+ * Get the indicator of forcing exsiting of end time stamp.
+ *
+ * @return the forceEndTimestamp value
+ */
+ public boolean forceEndTimestamp() {
+ return this.forceEndTimestamp;
+ }
+
+ /**
+ * Set the indicator of forcing exsiting of end time stamp.
+ *
+ * @param forceEndTimestamp the forceEndTimestamp value to set
+ * @return the PresentationTimeRange object itself.
+ */
+ public PresentationTimeRange withForceEndTimestamp(boolean forceEndTimestamp) {
+ this.forceEndTimestamp = forceEndTimestamp;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Preset.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Preset.java
new file mode 100644
index 000000000000..f377ef73d793
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Preset.java
@@ -0,0 +1,27 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Base type for all Presets, which define the recipe or instructions on how
+ * the input media files should be processed.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("Preset")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.AudioAnalyzerPreset", value = AudioAnalyzerPreset.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.BuiltInStandardEncoderPreset", value = BuiltInStandardEncoderPreset.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.StandardEncoderPreset", value = StandardEncoderPreset.class)
+})
+public class Preset {
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Priority.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Priority.java
new file mode 100644
index 000000000000..773e3b884b5c
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Priority.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for Priority.
+ */
+public enum Priority {
+ /** Used for TransformOutputs that can be generated after Normal and High priority TransformOutputs. */
+ LOW("Low"),
+
+ /** Used for TransformOutputs that can be generated at Normal priority. */
+ NORMAL("Normal"),
+
+ /** Used for TransformOutputs that should take precedence over others. */
+ HIGH("High");
+
+ /** The actual serialized value for a Priority instance. */
+ private String value;
+
+ Priority(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a Priority instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed Priority object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static Priority fromString(String value) {
+ Priority[] items = Priority.values();
+ for (Priority item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Provider.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Provider.java
new file mode 100644
index 000000000000..2ceb10e75707
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Provider.java
@@ -0,0 +1,43 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * A resource provider.
+ */
+public class Provider {
+ /**
+ * The provider name.
+ */
+ @JsonProperty(value = "providerName", required = true)
+ private String providerName;
+
+ /**
+ * Get the provider name.
+ *
+ * @return the providerName value
+ */
+ public String providerName() {
+ return this.providerName;
+ }
+
+ /**
+ * Set the provider name.
+ *
+ * @param providerName the providerName value to set
+ * @return the Provider object itself.
+ */
+ public Provider withProviderName(String providerName) {
+ this.providerName = providerName;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Rectangle.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Rectangle.java
new file mode 100644
index 000000000000..b6f231f8920d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Rectangle.java
@@ -0,0 +1,130 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Describes the properties of a rectangular window applied to the input media
+ * before processing it.
+ */
+public class Rectangle {
+ /**
+ * The number of pixels from the left-margin. This can be absolute pixel
+ * value (e.g 100), or relative to the size of the video (For example,
+ * 50%).
+ */
+ @JsonProperty(value = "left")
+ private String left;
+
+ /**
+ * The number of pixels from the top-margin. This can be absolute pixel
+ * value (e.g 100), or relative to the size of the video (For example,
+ * 50%).
+ */
+ @JsonProperty(value = "top")
+ private String top;
+
+ /**
+ * The width of the rectangular region in pixels. This can be absolute
+ * pixel value (e.g 100), or relative to the size of the video (For
+ * example, 50%).
+ */
+ @JsonProperty(value = "width")
+ private String width;
+
+ /**
+ * The height of the rectangular region in pixels. This can be absolute
+ * pixel value (e.g 100), or relative to the size of the video (For
+ * example, 50%).
+ */
+ @JsonProperty(value = "height")
+ private String height;
+
+ /**
+ * Get the number of pixels from the left-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%).
+ *
+ * @return the left value
+ */
+ public String left() {
+ return this.left;
+ }
+
+ /**
+ * Set the number of pixels from the left-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%).
+ *
+ * @param left the left value to set
+ * @return the Rectangle object itself.
+ */
+ public Rectangle withLeft(String left) {
+ this.left = left;
+ return this;
+ }
+
+ /**
+ * Get the number of pixels from the top-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%).
+ *
+ * @return the top value
+ */
+ public String top() {
+ return this.top;
+ }
+
+ /**
+ * Set the number of pixels from the top-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%).
+ *
+ * @param top the top value to set
+ * @return the Rectangle object itself.
+ */
+ public Rectangle withTop(String top) {
+ this.top = top;
+ return this;
+ }
+
+ /**
+ * Get the width of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%).
+ *
+ * @return the width value
+ */
+ public String width() {
+ return this.width;
+ }
+
+ /**
+ * Set the width of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%).
+ *
+ * @param width the width value to set
+ * @return the Rectangle object itself.
+ */
+ public Rectangle withWidth(String width) {
+ this.width = width;
+ return this;
+ }
+
+ /**
+ * Get the height of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%).
+ *
+ * @return the height value
+ */
+ public String height() {
+ return this.height;
+ }
+
+ /**
+ * Set the height of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%).
+ *
+ * @param height the height value to set
+ * @return the Rectangle object itself.
+ */
+ public Rectangle withHeight(String height) {
+ this.height = height;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Rotation.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Rotation.java
new file mode 100644
index 000000000000..c48903fb6bb8
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/Rotation.java
@@ -0,0 +1,65 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for Rotation.
+ */
+public enum Rotation {
+ /** Automatically detect and rotate as needed. */
+ AUTO("Auto"),
+
+ /** Do not rotate the video. If the output format supports it, any metadata about rotation is kept intact. */
+ NONE("None"),
+
+ /** Do not rotate the video but remove any metadata about the rotation. */
+ ROTATE0("Rotate0"),
+
+ /** Rotate 90 degrees clockwise. */
+ ROTATE90("Rotate90"),
+
+ /** Rotate 180 degrees clockwise. */
+ ROTATE180("Rotate180"),
+
+ /** Rotate 270 degrees clockwise. */
+ ROTATE270("Rotate270");
+
+ /** The actual serialized value for a Rotation instance. */
+ private String value;
+
+ Rotation(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a Rotation instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed Rotation object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static Rotation fromString(String value) {
+ Rotation[] items = Rotation.values();
+ for (Rotation item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ServiceSpecification.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ServiceSpecification.java
new file mode 100644
index 000000000000..edc902d5db89
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/ServiceSpecification.java
@@ -0,0 +1,33 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The service metric specifications.
+ */
+public class ServiceSpecification {
+ /**
+ * List of metric specifications.
+ */
+ @JsonProperty(value = "metricSpecifications", access = JsonProperty.Access.WRITE_ONLY)
+ private List metricSpecifications;
+
+ /**
+ * Get list of metric specifications.
+ *
+ * @return the metricSpecifications value
+ */
+ public List metricSpecifications() {
+ return this.metricSpecifications;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StandardEncoderPreset.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StandardEncoderPreset.java
new file mode 100644
index 000000000000..869e3a4f290f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StandardEncoderPreset.java
@@ -0,0 +1,102 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes all the settings to be used when encoding the input video with the
+ * Standard Encoder.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.StandardEncoderPreset")
+public class StandardEncoderPreset extends Preset {
+ /**
+ * One or more filtering operations that are applied to the input media
+ * before encoding.
+ */
+ @JsonProperty(value = "filters")
+ private Filters filters;
+
+ /**
+ * The list of codecs to be used when encoding the input video.
+ */
+ @JsonProperty(value = "codecs")
+ private List codecs;
+
+ /**
+ * The list of outputs to be produced by the encoder.
+ */
+ @JsonProperty(value = "formats")
+ private List formats;
+
+ /**
+ * Get one or more filtering operations that are applied to the input media before encoding.
+ *
+ * @return the filters value
+ */
+ public Filters filters() {
+ return this.filters;
+ }
+
+ /**
+ * Set one or more filtering operations that are applied to the input media before encoding.
+ *
+ * @param filters the filters value to set
+ * @return the StandardEncoderPreset object itself.
+ */
+ public StandardEncoderPreset withFilters(Filters filters) {
+ this.filters = filters;
+ return this;
+ }
+
+ /**
+ * Get the list of codecs to be used when encoding the input video.
+ *
+ * @return the codecs value
+ */
+ public List codecs() {
+ return this.codecs;
+ }
+
+ /**
+ * Set the list of codecs to be used when encoding the input video.
+ *
+ * @param codecs the codecs value to set
+ * @return the StandardEncoderPreset object itself.
+ */
+ public StandardEncoderPreset withCodecs(List codecs) {
+ this.codecs = codecs;
+ return this;
+ }
+
+ /**
+ * Get the list of outputs to be produced by the encoder.
+ *
+ * @return the formats value
+ */
+ public List formats() {
+ return this.formats;
+ }
+
+ /**
+ * Set the list of outputs to be produced by the encoder.
+ *
+ * @param formats the formats value to set
+ * @return the StandardEncoderPreset object itself.
+ */
+ public StandardEncoderPreset withFormats(List formats) {
+ this.formats = formats;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StorageAccount.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StorageAccount.java
new file mode 100644
index 000000000000..c65dfdb6303b
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StorageAccount.java
@@ -0,0 +1,74 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The storage account details.
+ */
+public class StorageAccount {
+ /**
+ * The ID of the storage account resource. Media Services relies on tables
+ * and queues as well as blobs, so the primary storage account must be a
+ * Standard Storage account (either Microsoft.ClassicStorage or
+ * Microsoft.Storage). Blob only storage accounts can be added as secondary
+ * storage accounts.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /**
+ * The type of the storage account. Possible values include: 'Primary',
+ * 'Secondary'.
+ */
+ @JsonProperty(value = "type", required = true)
+ private StorageAccountType type;
+
+ /**
+ * Get the ID of the storage account resource. Media Services relies on tables and queues as well as blobs, so the primary storage account must be a Standard Storage account (either Microsoft.ClassicStorage or Microsoft.Storage). Blob only storage accounts can be added as secondary storage accounts.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the ID of the storage account resource. Media Services relies on tables and queues as well as blobs, so the primary storage account must be a Standard Storage account (either Microsoft.ClassicStorage or Microsoft.Storage). Blob only storage accounts can be added as secondary storage accounts.
+ *
+ * @param id the id value to set
+ * @return the StorageAccount object itself.
+ */
+ public StorageAccount withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the type of the storage account. Possible values include: 'Primary', 'Secondary'.
+ *
+ * @return the type value
+ */
+ public StorageAccountType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type of the storage account. Possible values include: 'Primary', 'Secondary'.
+ *
+ * @param type the type value to set
+ * @return the StorageAccount object itself.
+ */
+ public StorageAccount withType(StorageAccountType type) {
+ this.type = type;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StorageAccountType.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StorageAccountType.java
new file mode 100644
index 000000000000..70c3b6d9a000
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StorageAccountType.java
@@ -0,0 +1,53 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for StorageAccountType.
+ */
+public enum StorageAccountType {
+ /** The primary storage account for the Media Services account. */
+ PRIMARY("Primary"),
+
+ /** A secondary storage account for the Media Services account. */
+ SECONDARY("Secondary");
+
+ /** The actual serialized value for a StorageAccountType instance. */
+ private String value;
+
+ StorageAccountType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a StorageAccountType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed StorageAccountType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static StorageAccountType fromString(String value) {
+ StorageAccountType[] items = StorageAccountType.values();
+ for (StorageAccountType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StorageEncryptedAssetDecryptionData.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StorageEncryptedAssetDecryptionData.java
new file mode 100644
index 000000000000..202ff3be8756
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StorageEncryptedAssetDecryptionData.java
@@ -0,0 +1,31 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.StorageEncryptedAssetDecryptionDataInner;
+import java.util.List;
+
+/**
+ * Type representing StorageEncryptedAssetDecryptionData.
+ */
+public interface StorageEncryptedAssetDecryptionData extends HasInner, HasManager {
+ /**
+ * @return the assetFileEncryptionMetadata value.
+ */
+ List assetFileEncryptionMetadata();
+
+ /**
+ * @return the key value.
+ */
+ byte[] keyVal();
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamOptionsFlag.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamOptionsFlag.java
new file mode 100644
index 000000000000..0175cb8065e1
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamOptionsFlag.java
@@ -0,0 +1,53 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for StreamOptionsFlag.
+ */
+public enum StreamOptionsFlag {
+ /** Enum value Default. */
+ DEFAULT("Default"),
+
+ /** Enum value LowLatency. */
+ LOW_LATENCY("LowLatency");
+
+ /** The actual serialized value for a StreamOptionsFlag instance. */
+ private String value;
+
+ StreamOptionsFlag(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a StreamOptionsFlag instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed StreamOptionsFlag object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static StreamOptionsFlag fromString(String value) {
+ StreamOptionsFlag[] items = StreamOptionsFlag.values();
+ for (StreamOptionsFlag item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEndpoint.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEndpoint.java
new file mode 100644
index 000000000000..88b3fe0b58e0
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEndpoint.java
@@ -0,0 +1,408 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.StreamingEndpointInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import java.util.Map;
+import java.util.List;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing StreamingEndpoint.
+ */
+public interface StreamingEndpoint extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the accessControl value.
+ */
+ StreamingEndpointAccessControl accessControl();
+
+ /**
+ * @return the availabilitySetName value.
+ */
+ String availabilitySetName();
+
+ /**
+ * @return the cdnEnabled value.
+ */
+ Boolean cdnEnabled();
+
+ /**
+ * @return the cdnProfile value.
+ */
+ String cdnProfile();
+
+ /**
+ * @return the cdnProvider value.
+ */
+ String cdnProvider();
+
+ /**
+ * @return the created value.
+ */
+ DateTime created();
+
+ /**
+ * @return the crossSiteAccessPolicies value.
+ */
+ CrossSiteAccessPolicies crossSiteAccessPolicies();
+
+ /**
+ * @return the customHostNames value.
+ */
+ List customHostNames();
+
+ /**
+ * @return the description value.
+ */
+ String description();
+
+ /**
+ * @return the freeTrialEndTime value.
+ */
+ DateTime freeTrialEndTime();
+
+ /**
+ * @return the hostName value.
+ */
+ String hostName();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the lastModified value.
+ */
+ DateTime lastModified();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the maxCacheAge value.
+ */
+ Long maxCacheAge();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the provisioningState value.
+ */
+ String provisioningState();
+
+ /**
+ * @return the resourceState value.
+ */
+ StreamingEndpointResourceState resourceState();
+
+ /**
+ * @return the scaleUnits value.
+ */
+ int scaleUnits();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the StreamingEndpoint definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithMediaservice, DefinitionStages.WithScaleUnits, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of StreamingEndpoint definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a StreamingEndpoint definition.
+ */
+ interface Blank extends WithMediaservice {
+ }
+
+ /**
+ * The stage of the streamingendpoint definition allowing to specify Mediaservice.
+ */
+ interface WithMediaservice {
+ /**
+ * Specifies resourceGroupName, accountName.
+ */
+ WithScaleUnits withExistingMediaservice(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the streamingendpoint definition allowing to specify ScaleUnits.
+ */
+ interface WithScaleUnits {
+ /**
+ * Specifies scaleUnits.
+ */
+ WithCreate withScaleUnits(int scaleUnits);
+ }
+
+ /**
+ * The stage of the streamingendpoint definition allowing to specify AccessControl.
+ */
+ interface WithAccessControl {
+ /**
+ * Specifies accessControl.
+ */
+ WithCreate withAccessControl(StreamingEndpointAccessControl accessControl);
+ }
+
+ /**
+ * The stage of the streamingendpoint definition allowing to specify AvailabilitySetName.
+ */
+ interface WithAvailabilitySetName {
+ /**
+ * Specifies availabilitySetName.
+ */
+ WithCreate withAvailabilitySetName(String availabilitySetName);
+ }
+
+ /**
+ * The stage of the streamingendpoint definition allowing to specify CdnEnabled.
+ */
+ interface WithCdnEnabled {
+ /**
+ * Specifies cdnEnabled.
+ */
+ WithCreate withCdnEnabled(Boolean cdnEnabled);
+ }
+
+ /**
+ * The stage of the streamingendpoint definition allowing to specify CdnProfile.
+ */
+ interface WithCdnProfile {
+ /**
+ * Specifies cdnProfile.
+ */
+ WithCreate withCdnProfile(String cdnProfile);
+ }
+
+ /**
+ * The stage of the streamingendpoint definition allowing to specify CdnProvider.
+ */
+ interface WithCdnProvider {
+ /**
+ * Specifies cdnProvider.
+ */
+ WithCreate withCdnProvider(String cdnProvider);
+ }
+
+ /**
+ * The stage of the streamingendpoint definition allowing to specify CrossSiteAccessPolicies.
+ */
+ interface WithCrossSiteAccessPolicies {
+ /**
+ * Specifies crossSiteAccessPolicies.
+ */
+ WithCreate withCrossSiteAccessPolicies(CrossSiteAccessPolicies crossSiteAccessPolicies);
+ }
+
+ /**
+ * The stage of the streamingendpoint definition allowing to specify CustomHostNames.
+ */
+ interface WithCustomHostNames {
+ /**
+ * Specifies customHostNames.
+ */
+ WithCreate withCustomHostNames(List customHostNames);
+ }
+
+ /**
+ * The stage of the streamingendpoint definition allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ */
+ WithCreate withDescription(String description);
+ }
+
+ /**
+ * The stage of the streamingendpoint definition allowing to specify Location.
+ */
+ interface WithLocation {
+ /**
+ * Specifies location.
+ */
+ WithCreate withLocation(String location);
+ }
+
+ /**
+ * The stage of the streamingendpoint definition allowing to specify MaxCacheAge.
+ */
+ interface WithMaxCacheAge {
+ /**
+ * Specifies maxCacheAge.
+ */
+ WithCreate withMaxCacheAge(Long maxCacheAge);
+ }
+
+ /**
+ * The stage of the streamingendpoint definition allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ */
+ WithCreate withTags(Map tags);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithAccessControl, DefinitionStages.WithAvailabilitySetName, DefinitionStages.WithCdnEnabled, DefinitionStages.WithCdnProfile, DefinitionStages.WithCdnProvider, DefinitionStages.WithCrossSiteAccessPolicies, DefinitionStages.WithCustomHostNames, DefinitionStages.WithDescription, DefinitionStages.WithLocation, DefinitionStages.WithMaxCacheAge, DefinitionStages.WithTags {
+ }
+ }
+ /**
+ * The template for a StreamingEndpoint update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithAccessControl, UpdateStages.WithAvailabilitySetName, UpdateStages.WithCdnEnabled, UpdateStages.WithCdnProfile, UpdateStages.WithCdnProvider, UpdateStages.WithCrossSiteAccessPolicies, UpdateStages.WithCustomHostNames, UpdateStages.WithDescription, UpdateStages.WithLocation, UpdateStages.WithMaxCacheAge, UpdateStages.WithTags {
+ }
+
+ /**
+ * Grouping of StreamingEndpoint update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the streamingendpoint update allowing to specify AccessControl.
+ */
+ interface WithAccessControl {
+ /**
+ * Specifies accessControl.
+ */
+ Update withAccessControl(StreamingEndpointAccessControl accessControl);
+ }
+
+ /**
+ * The stage of the streamingendpoint update allowing to specify AvailabilitySetName.
+ */
+ interface WithAvailabilitySetName {
+ /**
+ * Specifies availabilitySetName.
+ */
+ Update withAvailabilitySetName(String availabilitySetName);
+ }
+
+ /**
+ * The stage of the streamingendpoint update allowing to specify CdnEnabled.
+ */
+ interface WithCdnEnabled {
+ /**
+ * Specifies cdnEnabled.
+ */
+ Update withCdnEnabled(Boolean cdnEnabled);
+ }
+
+ /**
+ * The stage of the streamingendpoint update allowing to specify CdnProfile.
+ */
+ interface WithCdnProfile {
+ /**
+ * Specifies cdnProfile.
+ */
+ Update withCdnProfile(String cdnProfile);
+ }
+
+ /**
+ * The stage of the streamingendpoint update allowing to specify CdnProvider.
+ */
+ interface WithCdnProvider {
+ /**
+ * Specifies cdnProvider.
+ */
+ Update withCdnProvider(String cdnProvider);
+ }
+
+ /**
+ * The stage of the streamingendpoint update allowing to specify CrossSiteAccessPolicies.
+ */
+ interface WithCrossSiteAccessPolicies {
+ /**
+ * Specifies crossSiteAccessPolicies.
+ */
+ Update withCrossSiteAccessPolicies(CrossSiteAccessPolicies crossSiteAccessPolicies);
+ }
+
+ /**
+ * The stage of the streamingendpoint update allowing to specify CustomHostNames.
+ */
+ interface WithCustomHostNames {
+ /**
+ * Specifies customHostNames.
+ */
+ Update withCustomHostNames(List customHostNames);
+ }
+
+ /**
+ * The stage of the streamingendpoint update allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ */
+ Update withDescription(String description);
+ }
+
+ /**
+ * The stage of the streamingendpoint update allowing to specify Location.
+ */
+ interface WithLocation {
+ /**
+ * Specifies location.
+ */
+ Update withLocation(String location);
+ }
+
+ /**
+ * The stage of the streamingendpoint update allowing to specify MaxCacheAge.
+ */
+ interface WithMaxCacheAge {
+ /**
+ * Specifies maxCacheAge.
+ */
+ Update withMaxCacheAge(Long maxCacheAge);
+ }
+
+ /**
+ * The stage of the streamingendpoint update allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ */
+ Update withTags(Map tags);
+ }
+
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEndpointAccessControl.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEndpointAccessControl.java
new file mode 100644
index 000000000000..516f0223148d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEndpointAccessControl.java
@@ -0,0 +1,69 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * StreamingEndpoint access control definition.
+ */
+public class StreamingEndpointAccessControl {
+ /**
+ * The access control of Akamai.
+ */
+ @JsonProperty(value = "akamai")
+ private AkamaiAccessControl akamai;
+
+ /**
+ * The IP access control of the StreamingEndpoint.
+ */
+ @JsonProperty(value = "ip")
+ private IPAccessControl ip;
+
+ /**
+ * Get the access control of Akamai.
+ *
+ * @return the akamai value
+ */
+ public AkamaiAccessControl akamai() {
+ return this.akamai;
+ }
+
+ /**
+ * Set the access control of Akamai.
+ *
+ * @param akamai the akamai value to set
+ * @return the StreamingEndpointAccessControl object itself.
+ */
+ public StreamingEndpointAccessControl withAkamai(AkamaiAccessControl akamai) {
+ this.akamai = akamai;
+ return this;
+ }
+
+ /**
+ * Get the IP access control of the StreamingEndpoint.
+ *
+ * @return the ip value
+ */
+ public IPAccessControl ip() {
+ return this.ip;
+ }
+
+ /**
+ * Set the IP access control of the StreamingEndpoint.
+ *
+ * @param ip the ip value to set
+ * @return the StreamingEndpointAccessControl object itself.
+ */
+ public StreamingEndpointAccessControl withIp(IPAccessControl ip) {
+ this.ip = ip;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEndpointResourceState.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEndpointResourceState.java
new file mode 100644
index 000000000000..18a922254a7c
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEndpointResourceState.java
@@ -0,0 +1,65 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for StreamingEndpointResourceState.
+ */
+public enum StreamingEndpointResourceState {
+ /** Enum value Stopped. */
+ STOPPED("Stopped"),
+
+ /** Enum value Starting. */
+ STARTING("Starting"),
+
+ /** Enum value Running. */
+ RUNNING("Running"),
+
+ /** Enum value Stopping. */
+ STOPPING("Stopping"),
+
+ /** Enum value Deleting. */
+ DELETING("Deleting"),
+
+ /** Enum value Scaling. */
+ SCALING("Scaling");
+
+ /** The actual serialized value for a StreamingEndpointResourceState instance. */
+ private String value;
+
+ StreamingEndpointResourceState(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a StreamingEndpointResourceState instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed StreamingEndpointResourceState object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static StreamingEndpointResourceState fromString(String value) {
+ StreamingEndpointResourceState[] items = StreamingEndpointResourceState.values();
+ for (StreamingEndpointResourceState item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEndpoints.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEndpoints.java
new file mode 100644
index 000000000000..5f5dc9c986e1
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEndpoints.java
@@ -0,0 +1,92 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.StreamingEndpointsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing StreamingEndpoints.
+ */
+public interface StreamingEndpoints extends SupportsCreating, HasInner {
+ /**
+ * Start StreamingEndpoint.
+ * Starts an existing StreamingEndpoint.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param streamingEndpointName The name of the StreamingEndpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable startAsync(String resourceGroupName, String accountName, String streamingEndpointName);
+
+ /**
+ * Stop StreamingEndpoint.
+ * Stops an existing StreamingEndpoint.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param streamingEndpointName The name of the StreamingEndpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable stopAsync(String resourceGroupName, String accountName, String streamingEndpointName);
+
+ /**
+ * Scale StreamingEndpoint.
+ * Scales an existing StreamingEndpoint.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param streamingEndpointName The name of the StreamingEndpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable scaleAsync(String resourceGroupName, String accountName, String streamingEndpointName);
+
+ /**
+ * Get StreamingEndpoint.
+ * Gets a StreamingEndpoint.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param streamingEndpointName The name of the StreamingEndpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String accountName, String streamingEndpointName);
+
+ /**
+ * List StreamingEndpoints.
+ * Lists the StreamingEndpoints in the account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String accountName);
+
+ /**
+ * Delete StreamingEndpoint.
+ * Deletes a StreamingEndpoint.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param streamingEndpointName The name of the StreamingEndpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String accountName, String streamingEndpointName);
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEntityScaleUnit.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEntityScaleUnit.java
new file mode 100644
index 000000000000..cffcf254c733
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingEntityScaleUnit.java
@@ -0,0 +1,43 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * scale units definition.
+ */
+public class StreamingEntityScaleUnit {
+ /**
+ * The scale unit number of the StreamingEndpoint.
+ */
+ @JsonProperty(value = "scaleUnit")
+ private Integer scaleUnit;
+
+ /**
+ * Get the scale unit number of the StreamingEndpoint.
+ *
+ * @return the scaleUnit value
+ */
+ public Integer scaleUnit() {
+ return this.scaleUnit;
+ }
+
+ /**
+ * Set the scale unit number of the StreamingEndpoint.
+ *
+ * @param scaleUnit the scaleUnit value to set
+ * @return the StreamingEntityScaleUnit object itself.
+ */
+ public StreamingEntityScaleUnit withScaleUnit(Integer scaleUnit) {
+ this.scaleUnit = scaleUnit;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingLocator.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingLocator.java
new file mode 100644
index 000000000000..f523dd5b3b87
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingLocator.java
@@ -0,0 +1,273 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.StreamingLocatorInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import org.joda.time.DateTime;
+import java.util.UUID;
+import java.util.List;
+
+/**
+ * Type representing StreamingLocator.
+ */
+public interface StreamingLocator extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the alternativeMediaId value.
+ */
+ String alternativeMediaId();
+
+ /**
+ * @return the assetName value.
+ */
+ String assetName();
+
+ /**
+ * @return the contentKeys value.
+ */
+ List contentKeys();
+
+ /**
+ * @return the created value.
+ */
+ DateTime created();
+
+ /**
+ * @return the defaultContentKeyPolicyName value.
+ */
+ String defaultContentKeyPolicyName();
+
+ /**
+ * @return the endTime value.
+ */
+ DateTime endTime();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the startTime value.
+ */
+ DateTime startTime();
+
+ /**
+ * @return the streamingLocatorId value.
+ */
+ UUID streamingLocatorId();
+
+ /**
+ * @return the streamingPolicyName value.
+ */
+ String streamingPolicyName();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the StreamingLocator definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithMediaservice, DefinitionStages.WithAssetName, DefinitionStages.WithStreamingPolicyName, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of StreamingLocator definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a StreamingLocator definition.
+ */
+ interface Blank extends WithMediaservice {
+ }
+
+ /**
+ * The stage of the streaminglocator definition allowing to specify Mediaservice.
+ */
+ interface WithMediaservice {
+ /**
+ * Specifies resourceGroupName, accountName.
+ */
+ WithAssetName withExistingMediaservice(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the streaminglocator definition allowing to specify AssetName.
+ */
+ interface WithAssetName {
+ /**
+ * Specifies assetName.
+ */
+ WithStreamingPolicyName withAssetName(String assetName);
+ }
+
+ /**
+ * The stage of the streaminglocator definition allowing to specify StreamingPolicyName.
+ */
+ interface WithStreamingPolicyName {
+ /**
+ * Specifies streamingPolicyName.
+ */
+ WithCreate withStreamingPolicyName(String streamingPolicyName);
+ }
+
+ /**
+ * The stage of the streaminglocator definition allowing to specify AlternativeMediaId.
+ */
+ interface WithAlternativeMediaId {
+ /**
+ * Specifies alternativeMediaId.
+ */
+ WithCreate withAlternativeMediaId(String alternativeMediaId);
+ }
+
+ /**
+ * The stage of the streaminglocator definition allowing to specify ContentKeys.
+ */
+ interface WithContentKeys {
+ /**
+ * Specifies contentKeys.
+ */
+ WithCreate withContentKeys(List contentKeys);
+ }
+
+ /**
+ * The stage of the streaminglocator definition allowing to specify DefaultContentKeyPolicyName.
+ */
+ interface WithDefaultContentKeyPolicyName {
+ /**
+ * Specifies defaultContentKeyPolicyName.
+ */
+ WithCreate withDefaultContentKeyPolicyName(String defaultContentKeyPolicyName);
+ }
+
+ /**
+ * The stage of the streaminglocator definition allowing to specify EndTime.
+ */
+ interface WithEndTime {
+ /**
+ * Specifies endTime.
+ */
+ WithCreate withEndTime(DateTime endTime);
+ }
+
+ /**
+ * The stage of the streaminglocator definition allowing to specify StartTime.
+ */
+ interface WithStartTime {
+ /**
+ * Specifies startTime.
+ */
+ WithCreate withStartTime(DateTime startTime);
+ }
+
+ /**
+ * The stage of the streaminglocator definition allowing to specify StreamingLocatorId.
+ */
+ interface WithStreamingLocatorId {
+ /**
+ * Specifies streamingLocatorId.
+ */
+ WithCreate withStreamingLocatorId(UUID streamingLocatorId);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithAlternativeMediaId, DefinitionStages.WithContentKeys, DefinitionStages.WithDefaultContentKeyPolicyName, DefinitionStages.WithEndTime, DefinitionStages.WithStartTime, DefinitionStages.WithStreamingLocatorId {
+ }
+ }
+ /**
+ * The template for a StreamingLocator update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithAlternativeMediaId, UpdateStages.WithContentKeys, UpdateStages.WithDefaultContentKeyPolicyName, UpdateStages.WithEndTime, UpdateStages.WithStartTime, UpdateStages.WithStreamingLocatorId {
+ }
+
+ /**
+ * Grouping of StreamingLocator update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the streaminglocator update allowing to specify AlternativeMediaId.
+ */
+ interface WithAlternativeMediaId {
+ /**
+ * Specifies alternativeMediaId.
+ */
+ Update withAlternativeMediaId(String alternativeMediaId);
+ }
+
+ /**
+ * The stage of the streaminglocator update allowing to specify ContentKeys.
+ */
+ interface WithContentKeys {
+ /**
+ * Specifies contentKeys.
+ */
+ Update withContentKeys(List contentKeys);
+ }
+
+ /**
+ * The stage of the streaminglocator update allowing to specify DefaultContentKeyPolicyName.
+ */
+ interface WithDefaultContentKeyPolicyName {
+ /**
+ * Specifies defaultContentKeyPolicyName.
+ */
+ Update withDefaultContentKeyPolicyName(String defaultContentKeyPolicyName);
+ }
+
+ /**
+ * The stage of the streaminglocator update allowing to specify EndTime.
+ */
+ interface WithEndTime {
+ /**
+ * Specifies endTime.
+ */
+ Update withEndTime(DateTime endTime);
+ }
+
+ /**
+ * The stage of the streaminglocator update allowing to specify StartTime.
+ */
+ interface WithStartTime {
+ /**
+ * Specifies startTime.
+ */
+ Update withStartTime(DateTime startTime);
+ }
+
+ /**
+ * The stage of the streaminglocator update allowing to specify StreamingLocatorId.
+ */
+ interface WithStreamingLocatorId {
+ /**
+ * Specifies streamingLocatorId.
+ */
+ Update withStreamingLocatorId(UUID streamingLocatorId);
+ }
+
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingLocatorContentKey.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingLocatorContentKey.java
new file mode 100644
index 000000000000..bb4e9cb2fc52
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingLocatorContentKey.java
@@ -0,0 +1,143 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.UUID;
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class for content key in Streaming Locator.
+ */
+public class StreamingLocatorContentKey {
+ /**
+ * ID of Content Key.
+ */
+ @JsonProperty(value = "id", required = true)
+ private UUID id;
+
+ /**
+ * Encryption type of Content Key. Possible values include:
+ * 'CommonEncryptionCenc', 'CommonEncryptionCbcs', 'EnvelopeEncryption'.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private StreamingLocatorContentKeyType type;
+
+ /**
+ * Label of Content Key as specified in the Streaming Policy.
+ */
+ @JsonProperty(value = "labelReferenceInStreamingPolicy")
+ private String labelReferenceInStreamingPolicy;
+
+ /**
+ * Value of of Content Key.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /**
+ * ContentKeyPolicy used by Content Key.
+ */
+ @JsonProperty(value = "policyName", access = JsonProperty.Access.WRITE_ONLY)
+ private String policyName;
+
+ /**
+ * Tracks which use this Content Key.
+ */
+ @JsonProperty(value = "tracks", access = JsonProperty.Access.WRITE_ONLY)
+ private List tracks;
+
+ /**
+ * Get iD of Content Key.
+ *
+ * @return the id value
+ */
+ public UUID id() {
+ return this.id;
+ }
+
+ /**
+ * Set iD of Content Key.
+ *
+ * @param id the id value to set
+ * @return the StreamingLocatorContentKey object itself.
+ */
+ public StreamingLocatorContentKey withId(UUID id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get encryption type of Content Key. Possible values include: 'CommonEncryptionCenc', 'CommonEncryptionCbcs', 'EnvelopeEncryption'.
+ *
+ * @return the type value
+ */
+ public StreamingLocatorContentKeyType type() {
+ return this.type;
+ }
+
+ /**
+ * Get label of Content Key as specified in the Streaming Policy.
+ *
+ * @return the labelReferenceInStreamingPolicy value
+ */
+ public String labelReferenceInStreamingPolicy() {
+ return this.labelReferenceInStreamingPolicy;
+ }
+
+ /**
+ * Set label of Content Key as specified in the Streaming Policy.
+ *
+ * @param labelReferenceInStreamingPolicy the labelReferenceInStreamingPolicy value to set
+ * @return the StreamingLocatorContentKey object itself.
+ */
+ public StreamingLocatorContentKey withLabelReferenceInStreamingPolicy(String labelReferenceInStreamingPolicy) {
+ this.labelReferenceInStreamingPolicy = labelReferenceInStreamingPolicy;
+ return this;
+ }
+
+ /**
+ * Get value of of Content Key.
+ *
+ * @return the value value
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set value of of Content Key.
+ *
+ * @param value the value value to set
+ * @return the StreamingLocatorContentKey object itself.
+ */
+ public StreamingLocatorContentKey withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get contentKeyPolicy used by Content Key.
+ *
+ * @return the policyName value
+ */
+ public String policyName() {
+ return this.policyName;
+ }
+
+ /**
+ * Get tracks which use this Content Key.
+ *
+ * @return the tracks value
+ */
+ public List tracks() {
+ return this.tracks;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingLocatorContentKeyType.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingLocatorContentKeyType.java
new file mode 100644
index 000000000000..249f8d72c30e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingLocatorContentKeyType.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for StreamingLocatorContentKeyType.
+ */
+public enum StreamingLocatorContentKeyType {
+ /** Common Encryption using CENC. */
+ COMMON_ENCRYPTION_CENC("CommonEncryptionCenc"),
+
+ /** Common Encryption using CBCS. */
+ COMMON_ENCRYPTION_CBCS("CommonEncryptionCbcs"),
+
+ /** Envelope Encryption. */
+ ENVELOPE_ENCRYPTION("EnvelopeEncryption");
+
+ /** The actual serialized value for a StreamingLocatorContentKeyType instance. */
+ private String value;
+
+ StreamingLocatorContentKeyType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a StreamingLocatorContentKeyType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed StreamingLocatorContentKeyType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static StreamingLocatorContentKeyType fromString(String value) {
+ StreamingLocatorContentKeyType[] items = StreamingLocatorContentKeyType.values();
+ for (StreamingLocatorContentKeyType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingLocators.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingLocators.java
new file mode 100644
index 000000000000..4a5460d5c4f1
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingLocators.java
@@ -0,0 +1,80 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.StreamingLocatorsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing StreamingLocators.
+ */
+public interface StreamingLocators extends SupportsCreating, HasInner {
+ /**
+ * List Content Keys.
+ * List Content Keys used by this Streaming Locator.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param streamingLocatorName The Streaming Locator name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listContentKeysAsync(String resourceGroupName, String accountName, String streamingLocatorName);
+
+ /**
+ * List Paths.
+ * List Paths supported by this Streaming Locator.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param streamingLocatorName The Streaming Locator name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listPathsAsync(String resourceGroupName, String accountName, String streamingLocatorName);
+
+ /**
+ * Get a Streaming Locator.
+ * Get the details of a Streaming Locator in the Media Services account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param streamingLocatorName The Streaming Locator name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String accountName, String streamingLocatorName);
+
+ /**
+ * List Streaming Locators.
+ * Lists the Streaming Locators in the account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String accountName);
+
+ /**
+ * Delete a Streaming Locator.
+ * Deletes a Streaming Locator in the Media Services account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param streamingLocatorName The Streaming Locator name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String accountName, String streamingLocatorName);
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingPath.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingPath.java
new file mode 100644
index 000000000000..6d474bdb6e81
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingPath.java
@@ -0,0 +1,98 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class of paths for streaming.
+ */
+public class StreamingPath {
+ /**
+ * Streaming protocol. Possible values include: 'Hls', 'Dash',
+ * 'SmoothStreaming', 'Download'.
+ */
+ @JsonProperty(value = "streamingProtocol", required = true)
+ private StreamingPolicyStreamingProtocol streamingProtocol;
+
+ /**
+ * Encryption scheme. Possible values include: 'NoEncryption',
+ * 'EnvelopeEncryption', 'CommonEncryptionCenc', 'CommonEncryptionCbcs'.
+ */
+ @JsonProperty(value = "encryptionScheme", required = true)
+ private EncryptionScheme encryptionScheme;
+
+ /**
+ * Streaming paths for each protocol and encryptionScheme pair.
+ */
+ @JsonProperty(value = "paths")
+ private List paths;
+
+ /**
+ * Get streaming protocol. Possible values include: 'Hls', 'Dash', 'SmoothStreaming', 'Download'.
+ *
+ * @return the streamingProtocol value
+ */
+ public StreamingPolicyStreamingProtocol streamingProtocol() {
+ return this.streamingProtocol;
+ }
+
+ /**
+ * Set streaming protocol. Possible values include: 'Hls', 'Dash', 'SmoothStreaming', 'Download'.
+ *
+ * @param streamingProtocol the streamingProtocol value to set
+ * @return the StreamingPath object itself.
+ */
+ public StreamingPath withStreamingProtocol(StreamingPolicyStreamingProtocol streamingProtocol) {
+ this.streamingProtocol = streamingProtocol;
+ return this;
+ }
+
+ /**
+ * Get encryption scheme. Possible values include: 'NoEncryption', 'EnvelopeEncryption', 'CommonEncryptionCenc', 'CommonEncryptionCbcs'.
+ *
+ * @return the encryptionScheme value
+ */
+ public EncryptionScheme encryptionScheme() {
+ return this.encryptionScheme;
+ }
+
+ /**
+ * Set encryption scheme. Possible values include: 'NoEncryption', 'EnvelopeEncryption', 'CommonEncryptionCenc', 'CommonEncryptionCbcs'.
+ *
+ * @param encryptionScheme the encryptionScheme value to set
+ * @return the StreamingPath object itself.
+ */
+ public StreamingPath withEncryptionScheme(EncryptionScheme encryptionScheme) {
+ this.encryptionScheme = encryptionScheme;
+ return this;
+ }
+
+ /**
+ * Get streaming paths for each protocol and encryptionScheme pair.
+ *
+ * @return the paths value
+ */
+ public List paths() {
+ return this.paths;
+ }
+
+ /**
+ * Set streaming paths for each protocol and encryptionScheme pair.
+ *
+ * @param paths the paths value to set
+ * @return the StreamingPath object itself.
+ */
+ public StreamingPath withPaths(List paths) {
+ this.paths = paths;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingPolicies.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingPolicies.java
new file mode 100644
index 000000000000..d0533f2f0773
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingPolicies.java
@@ -0,0 +1,56 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.StreamingPoliciesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing StreamingPolicies.
+ */
+public interface StreamingPolicies extends SupportsCreating, HasInner {
+ /**
+ * Get a Streaming Policy.
+ * Get the details of a Streaming Policy in the Media Services account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param streamingPolicyName The Streaming Policy name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String accountName, String streamingPolicyName);
+
+ /**
+ * List Streaming Policies.
+ * Lists the Streaming Policies in the account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String accountName);
+
+ /**
+ * Delete a Streaming Policy.
+ * Deletes a Streaming Policy in the Media Services account.
+ *
+ * @param resourceGroupName The name of the resource group within the Azure subscription.
+ * @param accountName The Media Services account name.
+ * @param streamingPolicyName The Streaming Policy name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String accountName, String streamingPolicyName);
+
+}
diff --git a/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingPolicy.java b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingPolicy.java
new file mode 100644
index 000000000000..f0d758d32077
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_07_01/src/main/java/com/microsoft/azure/management/mediaservices/v2018_07_01/StreamingPolicy.java
@@ -0,0 +1,216 @@
+/**
+ * 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.mediaservices.v2018_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.StreamingPolicyInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_07_01.implementation.MediaManager;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing StreamingPolicy.
+ */
+public interface StreamingPolicy extends HasInner