diff --git a/mediaservices/resource-manager/v2018_03_30_preview/pom.xml b/mediaservices/resource-manager/v2018_03_30_preview/pom.xml
new file mode 100644
index 000000000000..450f3dab295a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/pom.xml
@@ -0,0 +1,133 @@
+
+
+ 4.0.0
+ com.microsoft.azure.mediaservices.v2018_03_30_preview
+
+ 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AacAudio.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AacAudio.java
new file mode 100644
index 000000000000..b5ab56ddfc65
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AacAudioProfile.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AacAudioProfile.java
new file mode 100644
index 000000000000..f7c9ec2dd286
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AkamaiAccessControl.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AkamaiAccessControl.java
new file mode 100644
index 000000000000..3968b25f6de3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AkamaiSignatureHeaderAuthenticationKey.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AkamaiSignatureHeaderAuthenticationKey.java
new file mode 100644
index 000000000000..6973310d8ceb
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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 exact time 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 exact time the authentication key.
+ *
+ * @return the expiration value
+ */
+ public DateTime expiration() {
+ return this.expiration;
+ }
+
+ /**
+ * Set the exact time 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ApiError.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ApiError.java
new file mode 100644
index 000000000000..fdfd0a09185b
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ApiError.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The API error.
+ */
+public class 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ApiErrorException.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ApiErrorException.java
new file mode 100644
index 000000000000..35243bfe97ec
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Asset.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Asset.java
new file mode 100644
index 000000000000..a32666208475
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AssetContainerPermission.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AssetContainerPermission.java
new file mode 100644
index 000000000000..06b7dd096876
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AssetContainerSas.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AssetContainerSas.java
new file mode 100644
index 000000000000..80393f50f6ba
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AssetStorageEncryptionFormat.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AssetStorageEncryptionFormat.java
new file mode 100644
index 000000000000..28062893e7fe
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AssetStorageEncryptionKey.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AssetStorageEncryptionKey.java
new file mode 100644
index 000000000000..a4b233f008ed
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AssetStorageEncryptionKey.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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.implementation.AssetStorageEncryptionKeyInner;
+
+/**
+ * Type representing AssetStorageEncryptionKey.
+ */
+public interface AssetStorageEncryptionKey extends HasInner, HasManager {
+ /**
+ * @return the storageEncryptionKey value.
+ */
+ String storageEncryptionKey();
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Assets.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Assets.java
new file mode 100644
index 000000000000..6ae0a0194402
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Assets.java
@@ -0,0 +1,81 @@
+/**
+ * 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_03_30_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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);
+
+ /**
+ * 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Audio.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Audio.java
new file mode 100644
index 000000000000..de254b7e6fbe
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AudioAnalyzerPreset.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AudioAnalyzerPreset.java
new file mode 100644
index 000000000000..a5aad6e7719a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AudioAnalyzerPreset.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_03_30_preview;
+
+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'.
+ */
+ @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'.
+ *
+ * @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'.
+ *
+ * @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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AudioOverlay.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/AudioOverlay.java
new file mode 100644
index 000000000000..268ea6fed237
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/BuiltInStandardEncoderPreset.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/BuiltInStandardEncoderPreset.java
new file mode 100644
index 000000000000..b7e3daecf12e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/BuiltInStandardEncoderPreset.java
@@ -0,0 +1,51 @@
+/**
+ * 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_03_30_preview;
+
+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: '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: '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: '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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CbcsDrmConfiguration.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CbcsDrmConfiguration.java
new file mode 100644
index 000000000000..a37bfb2e2c8d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CencDrmConfiguration.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CencDrmConfiguration.java
new file mode 100644
index 000000000000..3ecf7300fb7d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CheckNameAvailabilityInput.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CheckNameAvailabilityInput.java
new file mode 100644
index 000000000000..40ce2cb9cefa
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Codec.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Codec.java
new file mode 100644
index 000000000000..a39140f2b6c2
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CommonEncryptionCbcs.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CommonEncryptionCbcs.java
new file mode 100644
index 000000000000..abf78cf3e056
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CommonEncryptionCenc.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CommonEncryptionCenc.java
new file mode 100644
index 000000000000..e704ad98e862
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicies.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicies.java
new file mode 100644
index 000000000000..e363cd93fbc0
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicy.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicy.java
new file mode 100644
index 000000000000..27965766ae17
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyClearKeyConfiguration.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyClearKeyConfiguration.java
new file mode 100644
index 000000000000..3852b1669e10
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyConfiguration.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyConfiguration.java
new file mode 100644
index 000000000000..13fc2056a13a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyFairPlayConfiguration.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyFairPlayConfiguration.java
new file mode 100644
index 000000000000..d965fbe008a0
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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 ASk.
+ */
+ @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 ASk.
+ *
+ * @return the ask value
+ */
+ public byte[] ask() {
+ return this.ask;
+ }
+
+ /**
+ * Set the key that must be used as FairPlay ASk.
+ *
+ * @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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyFairPlayRentalAndLeaseKeyType.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyFairPlayRentalAndLeaseKeyType.java
new file mode 100644
index 000000000000..da9ea4eb8a6a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyOpenRestriction.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyOpenRestriction.java
new file mode 100644
index 000000000000..f26290f94af8
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyOption.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyOption.java
new file mode 100644
index 000000000000..61c0d5b50810
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyConfiguration.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyConfiguration.java
new file mode 100644
index 000000000000..ab47cae1167c
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader.java
new file mode 100644
index 000000000000..8fcd270beb04
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier.java
new file mode 100644
index 000000000000..3412e3ffe292
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyContentKeyLocation.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyContentKeyLocation.java
new file mode 100644
index 000000000000..b78baaed48f5
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyContentType.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyContentType.java
new file mode 100644
index 000000000000..1777806f8aa6
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction.java
new file mode 100644
index 000000000000..09e48986fbb9
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyLicense.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyLicense.java
new file mode 100644
index 000000000000..f85902112b23
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyLicenseType.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyLicenseType.java
new file mode 100644
index 000000000000..e0ca036f0d2b
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyPlayRight.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyPlayRight.java
new file mode 100644
index 000000000000..8e2c955007eb
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyUnknownOutputPassingOption.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyPlayReadyUnknownOutputPassingOption.java
new file mode 100644
index 000000000000..7766cf32f53e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyProperties.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyProperties.java
new file mode 100644
index 000000000000..435b9e9a307f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyRestriction.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyRestriction.java
new file mode 100644
index 000000000000..da86b61bf146
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyRestrictionTokenKey.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyRestrictionTokenKey.java
new file mode 100644
index 000000000000..b0b0a121fae5
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyRestrictionTokenType.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyRestrictionTokenType.java
new file mode 100644
index 000000000000..f7b2affbf7e6
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyRsaTokenKey.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyRsaTokenKey.java
new file mode 100644
index 000000000000..9e59b83c0ec8
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicySymmetricTokenKey.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicySymmetricTokenKey.java
new file mode 100644
index 000000000000..f1a36cf5eb0c
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyTokenClaim.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyTokenClaim.java
new file mode 100644
index 000000000000..d8e959a1c5bb
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyTokenRestriction.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyTokenRestriction.java
new file mode 100644
index 000000000000..8e69e1fedef3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyUnknownConfiguration.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyUnknownConfiguration.java
new file mode 100644
index 000000000000..d42d6c7b454c
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyUnknownRestriction.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyUnknownRestriction.java
new file mode 100644
index 000000000000..3ef05a645363
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyWidevineConfiguration.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyWidevineConfiguration.java
new file mode 100644
index 000000000000..f98abef925fc
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyX509CertificateTokenKey.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ContentKeyPolicyX509CertificateTokenKey.java
new file mode 100644
index 000000000000..8bb30c6175fb
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CopyAudio.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CopyAudio.java
new file mode 100644
index 000000000000..5e8a9c327dba
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CopyVideo.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CopyVideo.java
new file mode 100644
index 000000000000..5f4d7ff1479f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CrossSiteAccessPolicies.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/CrossSiteAccessPolicies.java
new file mode 100644
index 000000000000..eaf41be5170b
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/DefaultKey.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/DefaultKey.java
new file mode 100644
index 000000000000..fdd240e57d37
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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 Stremaing
+ * 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 Stremaing Locator.
+ *
+ * @return the label value
+ */
+ public String label() {
+ return this.label;
+ }
+
+ /**
+ * Set label can be used to specify Content Key when creating Stremaing 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Deinterlace.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Deinterlace.java
new file mode 100644
index 000000000000..480df2d6e48b
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/DeinterlaceMode.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/DeinterlaceMode.java
new file mode 100644
index 000000000000..1b28c12854ef
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/DeinterlaceParity.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/DeinterlaceParity.java
new file mode 100644
index 000000000000..656d82e15752
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/EnabledProtocols.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/EnabledProtocols.java
new file mode 100644
index 000000000000..28e7e10ed4b6
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/EncoderNamedPreset.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/EncoderNamedPreset.java
new file mode 100644
index 000000000000..3d5360286056
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/EncoderNamedPreset.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for EncoderNamedPreset.
+ */
+public enum EncoderNamedPreset {
+ /** 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/EncryptionScheme.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/EncryptionScheme.java
new file mode 100644
index 000000000000..57ed979f0bcc
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/EntityNameAvailabilityCheckOutput.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/EntityNameAvailabilityCheckOutput.java
new file mode 100644
index 000000000000..c31a16cb5121
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/EntropyMode.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/EntropyMode.java
new file mode 100644
index 000000000000..42d673863196
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/EnvelopeEncryption.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/EnvelopeEncryption.java
new file mode 100644
index 000000000000..eb7901b6f402
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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;
+
+ /**
+ * LicenseAcquistionUrlTemplate is used to point to user speicified service
+ * to delivery content keys.
+ */
+ @JsonProperty(value = "customLicenseAcquisitionUrlTemplate")
+ private String customLicenseAcquisitionUrlTemplate;
+
+ /**
+ * 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 licenseAcquistionUrlTemplate is used to point to user speicified service to delivery content keys.
+ *
+ * @return the customLicenseAcquisitionUrlTemplate value
+ */
+ public String customLicenseAcquisitionUrlTemplate() {
+ return this.customLicenseAcquisitionUrlTemplate;
+ }
+
+ /**
+ * Set licenseAcquistionUrlTemplate is used to point to user speicified service to delivery content keys.
+ *
+ * @param customLicenseAcquisitionUrlTemplate the customLicenseAcquisitionUrlTemplate value to set
+ * @return the EnvelopeEncryption object itself.
+ */
+ public EnvelopeEncryption withCustomLicenseAcquisitionUrlTemplate(String customLicenseAcquisitionUrlTemplate) {
+ this.customLicenseAcquisitionUrlTemplate = customLicenseAcquisitionUrlTemplate;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Filters.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Filters.java
new file mode 100644
index 000000000000..2b7910385741
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Format.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Format.java
new file mode 100644
index 000000000000..99d0b9291145
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/H264Complexity.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/H264Complexity.java
new file mode 100644
index 000000000000..3bda8475a500
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/H264Layer.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/H264Layer.java
new file mode 100644
index 000000000000..7d86026ef9a2
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/H264Video.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/H264Video.java
new file mode 100644
index 000000000000..f0ef289eded1
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/H264VideoProfile.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/H264VideoProfile.java
new file mode 100644
index 000000000000..422b2d321254
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Hls.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Hls.java
new file mode 100644
index 000000000000..341b42c74697
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/IPAccessControl.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/IPAccessControl.java
new file mode 100644
index 000000000000..4782bbd3ea4b
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/IPRange.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/IPRange.java
new file mode 100644
index 000000000000..3005303f3916
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Image.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Image.java
new file mode 100644
index 000000000000..f35134c32b23
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ImageFormat.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ImageFormat.java
new file mode 100644
index 000000000000..0fbe85e7190d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Job.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Job.java
new file mode 100644
index 000000000000..82d2c629072a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Job.java
@@ -0,0 +1,182 @@
+/**
+ * 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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview.implementation.MediaManager;
+import org.joda.time.DateTime;
+import java.util.List;
+
+/**
+ * Type representing Job.
+ */
+public interface Job 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 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 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.WithDescription, DefinitionStages.WithPriority {
+ }
+ }
+ /**
+ * The template for a Job update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithDescription, UpdateStages.WithPriority {
+ }
+
+ /**
+ * Grouping of Job update stages.
+ */
+ interface UpdateStages {
+ /**
+ * 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobError.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobError.java
new file mode 100644
index 000000000000..4d43494dc4f0
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobErrorCategory.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobErrorCategory.java
new file mode 100644
index 000000000000..79a752c19cac
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobErrorCode.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobErrorCode.java
new file mode 100644
index 000000000000..7aed5c1cfa6e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobErrorDetail.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobErrorDetail.java
new file mode 100644
index 000000000000..1b2b7852d583
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobInput.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobInput.java
new file mode 100644
index 000000000000..d9a92b128336
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobInput.java
@@ -0,0 +1,57 @@
+/**
+ * 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_03_30_preview;
+
+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 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 {
+ /**
+ * A label that is assigned to a JobInput, 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 a label that is assigned to a JobInput, 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 JobInput, 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 JobInput object itself.
+ */
+ public JobInput withLabel(String label) {
+ this.label = label;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobInputAsset.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobInputAsset.java
new file mode 100644
index 000000000000..b30b7ce152de
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobInputClip.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobInputClip.java
new file mode 100644
index 000000000000..aa7a3c2876e9
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobInputClip.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_03_30_preview;
+
+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;
+
+ /**
+ * 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;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobInputHttp.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobInputHttp.java
new file mode 100644
index 000000000000..85352da11a32
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobInputs.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobInputs.java
new file mode 100644
index 000000000000..4e843790d9d3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobOutput.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobOutput.java
new file mode 100644
index 000000000000..c162e88ab7b5
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobOutput.java
@@ -0,0 +1,76 @@
+/**
+ * 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_03_30_preview;
+
+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;
+
+ /**
+ * 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;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobOutputAsset.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobOutputAsset.java
new file mode 100644
index 000000000000..7ebc480e43fa
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobRetry.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobRetry.java
new file mode 100644
index 000000000000..23d02d3d4213
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobState.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JobState.java
new file mode 100644
index 000000000000..cdd84ecf1318
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Jobs.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Jobs.java
new file mode 100644
index 000000000000..06be2e983494
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JpgFormat.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JpgFormat.java
new file mode 100644
index 000000000000..4cad6bb4cae8
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JpgImage.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JpgImage.java
new file mode 100644
index 000000000000..50cd43b7bff0
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JpgLayer.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/JpgLayer.java
new file mode 100644
index 000000000000..71685650c54f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Layer.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Layer.java
new file mode 100644
index 000000000000..3fda3d19eca2
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ListContainerSasInput.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ListContainerSasInput.java
new file mode 100644
index 000000000000..903f6b950725
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The parameters to the list SAS requet.
+ */
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ListContentKeysResponse.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ListContentKeysResponse.java
new file mode 100644
index 000000000000..6c9114cc9bcc
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ListPathsResponse.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ListPathsResponse.java
new file mode 100644
index 000000000000..3b3db9e5f47d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEvent.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEvent.java
new file mode 100644
index 000000000000..46e9627d47ce
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventActionInput.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventActionInput.java
new file mode 100644
index 000000000000..57d2a89c8967
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventEncoding.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventEncoding.java
new file mode 100644
index 000000000000..ce6212960eac
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventEncoding.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The Live Event encoding.
+ */
+public class LiveEventEncoding {
+ /**
+ * The encoding type for Live Event. Possible values include: 'None',
+ * 'Basic'.
+ */
+ @JsonProperty(value = "encodingType")
+ private LiveEventEncodingType encodingType;
+
+ /**
+ * The encoding preset name.
+ */
+ @JsonProperty(value = "presetName")
+ private String presetName;
+
+ /**
+ * Get the encoding type for Live Event. Possible values include: 'None', 'Basic'.
+ *
+ * @return the encodingType value
+ */
+ public LiveEventEncodingType encodingType() {
+ return this.encodingType;
+ }
+
+ /**
+ * Set the encoding type for Live Event. 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.
+ *
+ * @return the presetName value
+ */
+ public String presetName() {
+ return this.presetName;
+ }
+
+ /**
+ * Set the encoding preset name.
+ *
+ * @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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventEncodingType.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventEncodingType.java
new file mode 100644
index 000000000000..1a85891e2f3e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventEndpoint.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventEndpoint.java
new file mode 100644
index 000000000000..7854fc8fc5a1
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventInput.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventInput.java
new file mode 100644
index 000000000000..1c27ac3a0fd0
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventInput.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_03_30_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The Live Event input.
+ */
+public class LiveEventInput {
+ /**
+ * The streaming protocol for the Live Event. Possible values include:
+ * 'FragmentedMP4', 'RTMP'.
+ */
+ @JsonProperty(value = "streamingProtocol", required = true)
+ private LiveEventInputProtocol streamingProtocol;
+
+ /**
+ * ISO 8601 timespan duration of the key frame interval duration.
+ */
+ @JsonProperty(value = "keyFrameIntervalDuration")
+ private String keyFrameIntervalDuration;
+
+ /**
+ * The access token.
+ */
+ @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. Possible values include: 'FragmentedMP4', 'RTMP'.
+ *
+ * @return the streamingProtocol value
+ */
+ public LiveEventInputProtocol streamingProtocol() {
+ return this.streamingProtocol;
+ }
+
+ /**
+ * Set the streaming protocol for the Live Event. 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 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 the access token.
+ *
+ * @return the accessToken value
+ */
+ public String accessToken() {
+ return this.accessToken;
+ }
+
+ /**
+ * Set the access token.
+ *
+ * @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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventInputProtocol.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventInputProtocol.java
new file mode 100644
index 000000000000..0936e830e859
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventPreview.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventPreview.java
new file mode 100644
index 000000000000..9f97539f9173
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventPreview.java
@@ -0,0 +1,122 @@
+/**
+ * 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_03_30_preview;
+
+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 preview locator Guid.
+ */
+ @JsonProperty(value = "previewLocator")
+ private String previewLocator;
+
+ /**
+ * The name of streaming policy used for LiveEvent preview.
+ */
+ @JsonProperty(value = "streamingPolicyName")
+ private String streamingPolicyName;
+
+ /**
+ * 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 preview locator Guid.
+ *
+ * @return the previewLocator value
+ */
+ public String previewLocator() {
+ return this.previewLocator;
+ }
+
+ /**
+ * Set the preview locator Guid.
+ *
+ * @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 LiveEvent preview.
+ *
+ * @return the streamingPolicyName value
+ */
+ public String streamingPolicyName() {
+ return this.streamingPolicyName;
+ }
+
+ /**
+ * Set the name of streaming policy used for LiveEvent preview.
+ *
+ * @param streamingPolicyName the streamingPolicyName value to set
+ * @return the LiveEventPreview object itself.
+ */
+ public LiveEventPreview withStreamingPolicyName(String streamingPolicyName) {
+ this.streamingPolicyName = streamingPolicyName;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventPreviewAccessControl.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventPreviewAccessControl.java
new file mode 100644
index 000000000000..3ab8ff7c122f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventResourceState.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEventResourceState.java
new file mode 100644
index 000000000000..64484787ecda
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEvents.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveEvents.java
new file mode 100644
index 000000000000..e3fdd1b1058a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveOutput.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveOutput.java
new file mode 100644
index 000000000000..224da556ccff
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveOutputResourceState.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveOutputResourceState.java
new file mode 100644
index 000000000000..04564d35ca12
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveOutputs.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/LiveOutputs.java
new file mode 100644
index 000000000000..b9e0bd6e4f7d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Locations.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Locations.java
new file mode 100644
index 000000000000..e3fb2cb83842
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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 String value
+ * @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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/MediaService.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/MediaService.java
new file mode 100644
index 000000000000..b6111b276d96
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview.implementation.MediaManager;
+import java.util.UUID;
+import java.util.List;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Mediaservices.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Mediaservices.java
new file mode 100644
index 000000000000..99eef9264c96
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Mp4Format.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Mp4Format.java
new file mode 100644
index 000000000000..63332032070b
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/MultiBitrateFormat.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/MultiBitrateFormat.java
new file mode 100644
index 000000000000..aaccd31209be
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/NoEncryption.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/NoEncryption.java
new file mode 100644
index 000000000000..22b34b1d8c98
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ODataError.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/ODataError.java
new file mode 100644
index 000000000000..5a4885f0f77d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/OnErrorType.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/OnErrorType.java
new file mode 100644
index 000000000000..89f451205045
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Operation.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Operation.java
new file mode 100644
index 000000000000..e777f2fcf833
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Operation.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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.implementation.OperationInner;
+
+/**
+ * Type representing Operation.
+ */
+public interface Operation extends HasInner, HasManager {
+ /**
+ * @return the display value.
+ */
+ OperationDisplay display();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/OperationDisplay.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/OperationDisplay.java
new file mode 100644
index 000000000000..02073e22457e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Operations.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Operations.java
new file mode 100644
index 000000000000..a071ea0b5551
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/OutputFile.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/OutputFile.java
new file mode 100644
index 000000000000..e427e477da2a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Overlay.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Overlay.java
new file mode 100644
index 000000000000..2d70ec728d79
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/PngFormat.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/PngFormat.java
new file mode 100644
index 000000000000..81aa564d8af7
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/PngImage.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/PngImage.java
new file mode 100644
index 000000000000..a584cff4101b
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/PngLayer.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/PngLayer.java
new file mode 100644
index 000000000000..ed7991304abd
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Preset.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Preset.java
new file mode 100644
index 000000000000..393aec8e1c01
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Priority.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Priority.java
new file mode 100644
index 000000000000..7562f5b7c7cc
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Provider.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Provider.java
new file mode 100644
index 000000000000..15731386c5c6
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Rectangle.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Rectangle.java
new file mode 100644
index 000000000000..c6bd98651fbc
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Rotation.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Rotation.java
new file mode 100644
index 000000000000..2e8e0ff248d3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StandardEncoderPreset.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StandardEncoderPreset.java
new file mode 100644
index 000000000000..9a0dec70a0e1
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StorageAccount.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StorageAccount.java
new file mode 100644
index 000000000000..23b893b22eaf
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StorageAccountType.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StorageAccountType.java
new file mode 100644
index 000000000000..17300b439e51
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamOptionsFlag.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamOptionsFlag.java
new file mode 100644
index 000000000000..76240597a759
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingEndpoint.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingEndpoint.java
new file mode 100644
index 000000000000..ff9f5c222140
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingEndpoint.java
@@ -0,0 +1,418 @@
+/**
+ * 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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview.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.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.
+ */
+ WithCreate withExistingMediaservice(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * 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 ScaleUnits.
+ */
+ interface WithScaleUnits {
+ /**
+ * Specifies scaleUnits.
+ */
+ WithCreate withScaleUnits(int scaleUnits);
+ }
+
+ /**
+ * 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.WithScaleUnits, 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.WithScaleUnits, 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 ScaleUnits.
+ */
+ interface WithScaleUnits {
+ /**
+ * Specifies scaleUnits.
+ */
+ Update withScaleUnits(int scaleUnits);
+ }
+
+ /**
+ * 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingEndpointAccessControl.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingEndpointAccessControl.java
new file mode 100644
index 000000000000..cea1e964eba1
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingEndpointResourceState.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingEndpointResourceState.java
new file mode 100644
index 000000000000..7a0629544eb2
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingEndpoints.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingEndpoints.java
new file mode 100644
index 000000000000..c54743f39da6
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingEntityScaleUnit.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingEntityScaleUnit.java
new file mode 100644
index 000000000000..ad237c754582
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingEntityScaleUnit.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * scale units definition.
+ */
+public class StreamingEntityScaleUnit {
+ /**
+ * ScaleUnit.
+ * 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingLocator.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingLocator.java
new file mode 100644
index 000000000000..afaf6e790762
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingLocator.java
@@ -0,0 +1,248 @@
+/**
+ * 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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview.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 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 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.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.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 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingLocatorContentKey.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingLocatorContentKey.java
new file mode 100644
index 000000000000..e6fec4e95142
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingLocatorContentKey.java
@@ -0,0 +1,176 @@
+/**
+ * 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_03_30_preview;
+
+import java.util.UUID;
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class for content key in Streaming Locator.
+ */
+public class StreamingLocatorContentKey {
+ /**
+ * Label of Content Key.
+ */
+ @JsonProperty(value = "label")
+ private String label;
+
+ /**
+ * Encryption type of Content Key. Possible values include:
+ * 'CommonEncryptionCenc', 'CommonEncryptionCbcs', 'EnvelopeEncryption'.
+ */
+ @JsonProperty(value = "type", required = true)
+ private StreamingLocatorContentKeyType type;
+
+ /**
+ * ID of Content Key.
+ */
+ @JsonProperty(value = "id", required = true)
+ private UUID id;
+
+ /**
+ * Value of of Content Key.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /**
+ * ContentKeyPolicy used by Content Key.
+ */
+ @JsonProperty(value = "policyName")
+ private String policyName;
+
+ /**
+ * Tracks which use this Content Key.
+ */
+ @JsonProperty(value = "tracks")
+ private List tracks;
+
+ /**
+ * Get label of Content Key.
+ *
+ * @return the label value
+ */
+ public String label() {
+ return this.label;
+ }
+
+ /**
+ * Set label of Content Key.
+ *
+ * @param label the label value to set
+ * @return the StreamingLocatorContentKey object itself.
+ */
+ public StreamingLocatorContentKey withLabel(String label) {
+ this.label = label;
+ return this;
+ }
+
+ /**
+ * Get encryption type of Content Key. Possible values include: 'CommonEncryptionCenc', 'CommonEncryptionCbcs', 'EnvelopeEncryption'.
+ *
+ * @return the type value
+ */
+ public StreamingLocatorContentKeyType type() {
+ return this.type;
+ }
+
+ /**
+ * Set encryption type of Content Key. Possible values include: 'CommonEncryptionCenc', 'CommonEncryptionCbcs', 'EnvelopeEncryption'.
+ *
+ * @param type the type value to set
+ * @return the StreamingLocatorContentKey object itself.
+ */
+ public StreamingLocatorContentKey withType(StreamingLocatorContentKeyType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * 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 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;
+ }
+
+ /**
+ * Set contentKeyPolicy used by Content Key.
+ *
+ * @param policyName the policyName value to set
+ * @return the StreamingLocatorContentKey object itself.
+ */
+ public StreamingLocatorContentKey withPolicyName(String policyName) {
+ this.policyName = policyName;
+ return this;
+ }
+
+ /**
+ * Get tracks which use this Content Key.
+ *
+ * @return the tracks value
+ */
+ public List tracks() {
+ return this.tracks;
+ }
+
+ /**
+ * Set tracks which use this Content Key.
+ *
+ * @param tracks the tracks value to set
+ * @return the StreamingLocatorContentKey object itself.
+ */
+ public StreamingLocatorContentKey withTracks(List tracks) {
+ this.tracks = tracks;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingLocatorContentKeyType.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingLocatorContentKeyType.java
new file mode 100644
index 000000000000..148b7b20938d
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingLocatorUserDefinedContentKey.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingLocatorUserDefinedContentKey.java
new file mode 100644
index 000000000000..0ae4306a3917
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingLocatorUserDefinedContentKey.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_03_30_preview;
+
+import java.util.UUID;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Describes the properties of a user-defined content key in the Streaming
+ * Locator.
+ */
+public class StreamingLocatorUserDefinedContentKey {
+ /**
+ * ID of Content Key.
+ */
+ @JsonProperty(value = "id", required = true)
+ private UUID id;
+
+ /**
+ * The Content Key description.
+ */
+ @JsonProperty(value = "label")
+ private String label;
+
+ /**
+ * The Content Key secret.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /**
+ * 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 StreamingLocatorUserDefinedContentKey object itself.
+ */
+ public StreamingLocatorUserDefinedContentKey withId(UUID id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the Content Key description.
+ *
+ * @return the label value
+ */
+ public String label() {
+ return this.label;
+ }
+
+ /**
+ * Set the Content Key description.
+ *
+ * @param label the label value to set
+ * @return the StreamingLocatorUserDefinedContentKey object itself.
+ */
+ public StreamingLocatorUserDefinedContentKey withLabel(String label) {
+ this.label = label;
+ return this;
+ }
+
+ /**
+ * Get the Content Key secret.
+ *
+ * @return the value value
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the Content Key secret.
+ *
+ * @param value the value value to set
+ * @return the StreamingLocatorUserDefinedContentKey object itself.
+ */
+ public StreamingLocatorUserDefinedContentKey withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingLocators.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingLocators.java
new file mode 100644
index 000000000000..e5f7c2eaf518
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPath.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPath.java
new file mode 100644
index 000000000000..64c1a460de0c
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicies.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicies.java
new file mode 100644
index 000000000000..92b2a44c9f5f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicy.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicy.java
new file mode 100644
index 000000000000..8e00a9f4c311
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.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_03_30_preview.implementation.MediaManager;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing StreamingPolicy.
+ */
+public interface StreamingPolicy extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the commonEncryptionCbcs value.
+ */
+ CommonEncryptionCbcs commonEncryptionCbcs();
+
+ /**
+ * @return the commonEncryptionCenc value.
+ */
+ CommonEncryptionCenc commonEncryptionCenc();
+
+ /**
+ * @return the created value.
+ */
+ DateTime created();
+
+ /**
+ * @return the defaultContentKeyPolicyName value.
+ */
+ String defaultContentKeyPolicyName();
+
+ /**
+ * @return the envelopeEncryption value.
+ */
+ EnvelopeEncryption envelopeEncryption();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the noEncryption value.
+ */
+ NoEncryption noEncryption();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the StreamingPolicy definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithMediaservice, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of StreamingPolicy definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a StreamingPolicy definition.
+ */
+ interface Blank extends WithMediaservice {
+ }
+
+ /**
+ * The stage of the streamingpolicy definition allowing to specify Mediaservice.
+ */
+ interface WithMediaservice {
+ /**
+ * Specifies resourceGroupName, accountName.
+ */
+ WithCreate withExistingMediaservice(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the streamingpolicy definition allowing to specify CommonEncryptionCbcs.
+ */
+ interface WithCommonEncryptionCbcs {
+ /**
+ * Specifies commonEncryptionCbcs.
+ */
+ WithCreate withCommonEncryptionCbcs(CommonEncryptionCbcs commonEncryptionCbcs);
+ }
+
+ /**
+ * The stage of the streamingpolicy definition allowing to specify CommonEncryptionCenc.
+ */
+ interface WithCommonEncryptionCenc {
+ /**
+ * Specifies commonEncryptionCenc.
+ */
+ WithCreate withCommonEncryptionCenc(CommonEncryptionCenc commonEncryptionCenc);
+ }
+
+ /**
+ * The stage of the streamingpolicy definition allowing to specify DefaultContentKeyPolicyName.
+ */
+ interface WithDefaultContentKeyPolicyName {
+ /**
+ * Specifies defaultContentKeyPolicyName.
+ */
+ WithCreate withDefaultContentKeyPolicyName(String defaultContentKeyPolicyName);
+ }
+
+ /**
+ * The stage of the streamingpolicy definition allowing to specify EnvelopeEncryption.
+ */
+ interface WithEnvelopeEncryption {
+ /**
+ * Specifies envelopeEncryption.
+ */
+ WithCreate withEnvelopeEncryption(EnvelopeEncryption envelopeEncryption);
+ }
+
+ /**
+ * The stage of the streamingpolicy definition allowing to specify NoEncryption.
+ */
+ interface WithNoEncryption {
+ /**
+ * Specifies noEncryption.
+ */
+ WithCreate withNoEncryption(NoEncryption noEncryption);
+ }
+
+ /**
+ * 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.WithCommonEncryptionCbcs, DefinitionStages.WithCommonEncryptionCenc, DefinitionStages.WithDefaultContentKeyPolicyName, DefinitionStages.WithEnvelopeEncryption, DefinitionStages.WithNoEncryption {
+ }
+ }
+ /**
+ * The template for a StreamingPolicy update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithCommonEncryptionCbcs, UpdateStages.WithCommonEncryptionCenc, UpdateStages.WithDefaultContentKeyPolicyName, UpdateStages.WithEnvelopeEncryption, UpdateStages.WithNoEncryption {
+ }
+
+ /**
+ * Grouping of StreamingPolicy update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the streamingpolicy update allowing to specify CommonEncryptionCbcs.
+ */
+ interface WithCommonEncryptionCbcs {
+ /**
+ * Specifies commonEncryptionCbcs.
+ */
+ Update withCommonEncryptionCbcs(CommonEncryptionCbcs commonEncryptionCbcs);
+ }
+
+ /**
+ * The stage of the streamingpolicy update allowing to specify CommonEncryptionCenc.
+ */
+ interface WithCommonEncryptionCenc {
+ /**
+ * Specifies commonEncryptionCenc.
+ */
+ Update withCommonEncryptionCenc(CommonEncryptionCenc commonEncryptionCenc);
+ }
+
+ /**
+ * The stage of the streamingpolicy update allowing to specify DefaultContentKeyPolicyName.
+ */
+ interface WithDefaultContentKeyPolicyName {
+ /**
+ * Specifies defaultContentKeyPolicyName.
+ */
+ Update withDefaultContentKeyPolicyName(String defaultContentKeyPolicyName);
+ }
+
+ /**
+ * The stage of the streamingpolicy update allowing to specify EnvelopeEncryption.
+ */
+ interface WithEnvelopeEncryption {
+ /**
+ * Specifies envelopeEncryption.
+ */
+ Update withEnvelopeEncryption(EnvelopeEncryption envelopeEncryption);
+ }
+
+ /**
+ * The stage of the streamingpolicy update allowing to specify NoEncryption.
+ */
+ interface WithNoEncryption {
+ /**
+ * Specifies noEncryption.
+ */
+ Update withNoEncryption(NoEncryption noEncryption);
+ }
+
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyContentKey.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyContentKey.java
new file mode 100644
index 000000000000..ab6f82dc7186
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyContentKey.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_03_30_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class to specify properties of content key.
+ */
+public class StreamingPolicyContentKey {
+ /**
+ * Label can be used to specify Content Key when creating Stremaing
+ * Locator.
+ */
+ @JsonProperty(value = "label")
+ private String label;
+
+ /**
+ * Policy used by Content Key.
+ */
+ @JsonProperty(value = "policyName")
+ private String policyName;
+
+ /**
+ * Tracks which use this content key.
+ */
+ @JsonProperty(value = "tracks")
+ private List tracks;
+
+ /**
+ * Get label can be used to specify Content Key when creating Stremaing Locator.
+ *
+ * @return the label value
+ */
+ public String label() {
+ return this.label;
+ }
+
+ /**
+ * Set label can be used to specify Content Key when creating Stremaing Locator.
+ *
+ * @param label the label value to set
+ * @return the StreamingPolicyContentKey object itself.
+ */
+ public StreamingPolicyContentKey withLabel(String label) {
+ this.label = label;
+ return this;
+ }
+
+ /**
+ * Get policy used by Content Key.
+ *
+ * @return the policyName value
+ */
+ public String policyName() {
+ return this.policyName;
+ }
+
+ /**
+ * Set policy used by Content Key.
+ *
+ * @param policyName the policyName value to set
+ * @return the StreamingPolicyContentKey object itself.
+ */
+ public StreamingPolicyContentKey withPolicyName(String policyName) {
+ this.policyName = policyName;
+ return this;
+ }
+
+ /**
+ * Get tracks which use this content key.
+ *
+ * @return the tracks value
+ */
+ public List tracks() {
+ return this.tracks;
+ }
+
+ /**
+ * Set tracks which use this content key.
+ *
+ * @param tracks the tracks value to set
+ * @return the StreamingPolicyContentKey object itself.
+ */
+ public StreamingPolicyContentKey withTracks(List tracks) {
+ this.tracks = tracks;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyContentKeys.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyContentKeys.java
new file mode 100644
index 000000000000..6b30435e9bbd
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyContentKeys.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_03_30_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class to specify properties of all content keys in Streaming Policy.
+ */
+public class StreamingPolicyContentKeys {
+ /**
+ * Default content key for an encryption scheme.
+ */
+ @JsonProperty(value = "defaultKey")
+ private DefaultKey defaultKey;
+
+ /**
+ * Representing tracks needs sepearete content key.
+ */
+ @JsonProperty(value = "keyToTrackMappings")
+ private List keyToTrackMappings;
+
+ /**
+ * Get default content key for an encryption scheme.
+ *
+ * @return the defaultKey value
+ */
+ public DefaultKey defaultKey() {
+ return this.defaultKey;
+ }
+
+ /**
+ * Set default content key for an encryption scheme.
+ *
+ * @param defaultKey the defaultKey value to set
+ * @return the StreamingPolicyContentKeys object itself.
+ */
+ public StreamingPolicyContentKeys withDefaultKey(DefaultKey defaultKey) {
+ this.defaultKey = defaultKey;
+ return this;
+ }
+
+ /**
+ * Get representing tracks needs sepearete content key.
+ *
+ * @return the keyToTrackMappings value
+ */
+ public List keyToTrackMappings() {
+ return this.keyToTrackMappings;
+ }
+
+ /**
+ * Set representing tracks needs sepearete content key.
+ *
+ * @param keyToTrackMappings the keyToTrackMappings value to set
+ * @return the StreamingPolicyContentKeys object itself.
+ */
+ public StreamingPolicyContentKeys withKeyToTrackMappings(List keyToTrackMappings) {
+ this.keyToTrackMappings = keyToTrackMappings;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyFairPlayConfiguration.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyFairPlayConfiguration.java
new file mode 100644
index 000000000000..22a86154db1a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyFairPlayConfiguration.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class to specify configurations of FairPlay in Streaming Policy.
+ */
+public class StreamingPolicyFairPlayConfiguration {
+ /**
+ * The template for a customer service to deliver keys to end users. Not
+ * needed when using Azure Media Services for issuing keys.
+ */
+ @JsonProperty(value = "customLicenseAcquisitionUrlTemplate")
+ private String customLicenseAcquisitionUrlTemplate;
+
+ /**
+ * All license to be persistent or not.
+ */
+ @JsonProperty(value = "allowPersistentLicense", required = true)
+ private boolean allowPersistentLicense;
+
+ /**
+ * Get the template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys.
+ *
+ * @return the customLicenseAcquisitionUrlTemplate value
+ */
+ public String customLicenseAcquisitionUrlTemplate() {
+ return this.customLicenseAcquisitionUrlTemplate;
+ }
+
+ /**
+ * Set the template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys.
+ *
+ * @param customLicenseAcquisitionUrlTemplate the customLicenseAcquisitionUrlTemplate value to set
+ * @return the StreamingPolicyFairPlayConfiguration object itself.
+ */
+ public StreamingPolicyFairPlayConfiguration withCustomLicenseAcquisitionUrlTemplate(String customLicenseAcquisitionUrlTemplate) {
+ this.customLicenseAcquisitionUrlTemplate = customLicenseAcquisitionUrlTemplate;
+ return this;
+ }
+
+ /**
+ * Get all license to be persistent or not.
+ *
+ * @return the allowPersistentLicense value
+ */
+ public boolean allowPersistentLicense() {
+ return this.allowPersistentLicense;
+ }
+
+ /**
+ * Set all license to be persistent or not.
+ *
+ * @param allowPersistentLicense the allowPersistentLicense value to set
+ * @return the StreamingPolicyFairPlayConfiguration object itself.
+ */
+ public StreamingPolicyFairPlayConfiguration withAllowPersistentLicense(boolean allowPersistentLicense) {
+ this.allowPersistentLicense = allowPersistentLicense;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyPlayReadyConfiguration.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyPlayReadyConfiguration.java
new file mode 100644
index 000000000000..1d5d9123dfed
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyPlayReadyConfiguration.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class to specify configurations of PlayReady in Streaming Policy.
+ */
+public class StreamingPolicyPlayReadyConfiguration {
+ /**
+ * The template for a customer service to deliver keys to end users. Not
+ * needed when using Azure Media Services for issuing keys.
+ */
+ @JsonProperty(value = "customLicenseAcquisitionUrlTemplate")
+ private String customLicenseAcquisitionUrlTemplate;
+
+ /**
+ * Custom attributes for PlayReady.
+ */
+ @JsonProperty(value = "playReadyCustomAttributes")
+ private String playReadyCustomAttributes;
+
+ /**
+ * Get the template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys.
+ *
+ * @return the customLicenseAcquisitionUrlTemplate value
+ */
+ public String customLicenseAcquisitionUrlTemplate() {
+ return this.customLicenseAcquisitionUrlTemplate;
+ }
+
+ /**
+ * Set the template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys.
+ *
+ * @param customLicenseAcquisitionUrlTemplate the customLicenseAcquisitionUrlTemplate value to set
+ * @return the StreamingPolicyPlayReadyConfiguration object itself.
+ */
+ public StreamingPolicyPlayReadyConfiguration withCustomLicenseAcquisitionUrlTemplate(String customLicenseAcquisitionUrlTemplate) {
+ this.customLicenseAcquisitionUrlTemplate = customLicenseAcquisitionUrlTemplate;
+ return this;
+ }
+
+ /**
+ * Get custom attributes for PlayReady.
+ *
+ * @return the playReadyCustomAttributes value
+ */
+ public String playReadyCustomAttributes() {
+ return this.playReadyCustomAttributes;
+ }
+
+ /**
+ * Set custom attributes for PlayReady.
+ *
+ * @param playReadyCustomAttributes the playReadyCustomAttributes value to set
+ * @return the StreamingPolicyPlayReadyConfiguration object itself.
+ */
+ public StreamingPolicyPlayReadyConfiguration withPlayReadyCustomAttributes(String playReadyCustomAttributes) {
+ this.playReadyCustomAttributes = playReadyCustomAttributes;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyStreamingProtocol.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyStreamingProtocol.java
new file mode 100644
index 000000000000..12ae91b35cba
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyStreamingProtocol.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for StreamingPolicyStreamingProtocol.
+ */
+public enum StreamingPolicyStreamingProtocol {
+ /** HLS protocol. */
+ HLS("Hls"),
+
+ /** DASH protocol. */
+ DASH("Dash"),
+
+ /** SmoothStreaming protocol. */
+ SMOOTH_STREAMING("SmoothStreaming"),
+
+ /** Download protocol. */
+ DOWNLOAD("Download");
+
+ /** The actual serialized value for a StreamingPolicyStreamingProtocol instance. */
+ private String value;
+
+ StreamingPolicyStreamingProtocol(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a StreamingPolicyStreamingProtocol instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed StreamingPolicyStreamingProtocol object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static StreamingPolicyStreamingProtocol fromString(String value) {
+ StreamingPolicyStreamingProtocol[] items = StreamingPolicyStreamingProtocol.values();
+ for (StreamingPolicyStreamingProtocol 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyWidevineConfiguration.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyWidevineConfiguration.java
new file mode 100644
index 000000000000..8ef791ace3e3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StreamingPolicyWidevineConfiguration.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class to specify configurations of Widevine in Streaming Policy.
+ */
+public class StreamingPolicyWidevineConfiguration {
+ /**
+ * The template for a customer service to deliver keys to end users. Not
+ * needed when using Azure Media Services for issuing keys.
+ */
+ @JsonProperty(value = "customLicenseAcquisitionUrlTemplate")
+ private String customLicenseAcquisitionUrlTemplate;
+
+ /**
+ * Get the template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys.
+ *
+ * @return the customLicenseAcquisitionUrlTemplate value
+ */
+ public String customLicenseAcquisitionUrlTemplate() {
+ return this.customLicenseAcquisitionUrlTemplate;
+ }
+
+ /**
+ * Set the template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys.
+ *
+ * @param customLicenseAcquisitionUrlTemplate the customLicenseAcquisitionUrlTemplate value to set
+ * @return the StreamingPolicyWidevineConfiguration object itself.
+ */
+ public StreamingPolicyWidevineConfiguration withCustomLicenseAcquisitionUrlTemplate(String customLicenseAcquisitionUrlTemplate) {
+ this.customLicenseAcquisitionUrlTemplate = customLicenseAcquisitionUrlTemplate;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StretchMode.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StretchMode.java
new file mode 100644
index 000000000000..837b2be6acb0
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/StretchMode.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for StretchMode.
+ */
+public enum StretchMode {
+ /** Strictly respect the output resolution without considering the pixel aspect ratio or display aspect ratio of the input video. */
+ NONE("None"),
+
+ /** Override the output resolution, and change it to match the display aspect ratio of the input, without padding. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the value in the preset is overridden, and the output will be at 1280x720, which maintains the input aspect ratio of 16:9. */
+ AUTO_SIZE("AutoSize"),
+
+ /** Pad the output (with either letterbox or pillar box) to honor the output resolution, while ensuring that the active video region in the output has the same aspect ratio as the input. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the output will be at 1280x1280, which contains an inner rectangle of 1280x720 at aspect ratio of 16:9, and pillar box regions 280 pixels wide at the left and right. */
+ AUTO_FIT("AutoFit");
+
+ /** The actual serialized value for a StretchMode instance. */
+ private String value;
+
+ StretchMode(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a StretchMode instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed StretchMode object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static StretchMode fromString(String value) {
+ StretchMode[] items = StretchMode.values();
+ for (StretchMode 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/SubscriptionMediaService.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/SubscriptionMediaService.java
new file mode 100644
index 000000000000..271bf2ae4940
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/SubscriptionMediaService.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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.implementation.MediaManager;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.implementation.SubscriptionMediaServiceInner;
+import java.util.UUID;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Type representing SubscriptionMediaService.
+ */
+public interface SubscriptionMediaService extends HasInner, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the mediaServiceId value.
+ */
+ UUID mediaServiceId();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the storageAccounts value.
+ */
+ List storageAccounts();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/SyncStorageKeysInput.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/SyncStorageKeysInput.java
new file mode 100644
index 000000000000..477f9c657d79
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/SyncStorageKeysInput.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The input to the sync storage keys request.
+ */
+public class SyncStorageKeysInput {
+ /**
+ * The ID of the storage account resource.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /**
+ * Get the ID of the storage account resource.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the ID of the storage account resource.
+ *
+ * @param id the id value to set
+ * @return the SyncStorageKeysInput object itself.
+ */
+ public SyncStorageKeysInput withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TrackPropertyCompareOperation.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TrackPropertyCompareOperation.java
new file mode 100644
index 000000000000..89c1f38e65cc
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TrackPropertyCompareOperation.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for TrackPropertyCompareOperation.
+ */
+public enum TrackPropertyCompareOperation {
+ /** Unknown track property compare operation. */
+ UNKNOWN("Unknown"),
+
+ /** Equal operation. */
+ EQUAL("Equal");
+
+ /** The actual serialized value for a TrackPropertyCompareOperation instance. */
+ private String value;
+
+ TrackPropertyCompareOperation(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a TrackPropertyCompareOperation instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed TrackPropertyCompareOperation object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static TrackPropertyCompareOperation fromString(String value) {
+ TrackPropertyCompareOperation[] items = TrackPropertyCompareOperation.values();
+ for (TrackPropertyCompareOperation 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TrackPropertyCondition.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TrackPropertyCondition.java
new file mode 100644
index 000000000000..ab44d40d1235
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TrackPropertyCondition.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class to specify one track property condition.
+ */
+public class TrackPropertyCondition {
+ /**
+ * Track property type. Possible values include: 'Unknown', 'FourCC'.
+ */
+ @JsonProperty(value = "property", required = true)
+ private TrackPropertyType property;
+
+ /**
+ * Track property condition operation. Possible values include: 'Unknown',
+ * 'Equal'.
+ */
+ @JsonProperty(value = "operation", required = true)
+ private TrackPropertyCompareOperation operation;
+
+ /**
+ * Track proprty value.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /**
+ * Get track property type. Possible values include: 'Unknown', 'FourCC'.
+ *
+ * @return the property value
+ */
+ public TrackPropertyType property() {
+ return this.property;
+ }
+
+ /**
+ * Set track property type. Possible values include: 'Unknown', 'FourCC'.
+ *
+ * @param property the property value to set
+ * @return the TrackPropertyCondition object itself.
+ */
+ public TrackPropertyCondition withProperty(TrackPropertyType property) {
+ this.property = property;
+ return this;
+ }
+
+ /**
+ * Get track property condition operation. Possible values include: 'Unknown', 'Equal'.
+ *
+ * @return the operation value
+ */
+ public TrackPropertyCompareOperation operation() {
+ return this.operation;
+ }
+
+ /**
+ * Set track property condition operation. Possible values include: 'Unknown', 'Equal'.
+ *
+ * @param operation the operation value to set
+ * @return the TrackPropertyCondition object itself.
+ */
+ public TrackPropertyCondition withOperation(TrackPropertyCompareOperation operation) {
+ this.operation = operation;
+ return this;
+ }
+
+ /**
+ * Get track proprty value.
+ *
+ * @return the value value
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set track proprty value.
+ *
+ * @param value the value value to set
+ * @return the TrackPropertyCondition object itself.
+ */
+ public TrackPropertyCondition withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TrackPropertyType.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TrackPropertyType.java
new file mode 100644
index 000000000000..552aa78e4ca6
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TrackPropertyType.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for TrackPropertyType.
+ */
+public enum TrackPropertyType {
+ /** Unknown track property. */
+ UNKNOWN("Unknown"),
+
+ /** Track FourCC. */
+ FOUR_CC("FourCC");
+
+ /** The actual serialized value for a TrackPropertyType instance. */
+ private String value;
+
+ TrackPropertyType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a TrackPropertyType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed TrackPropertyType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static TrackPropertyType fromString(String value) {
+ TrackPropertyType[] items = TrackPropertyType.values();
+ for (TrackPropertyType 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_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TrackSelection.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TrackSelection.java
new file mode 100644
index 000000000000..a3bdc2f481cb
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TrackSelection.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_03_30_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Class to select a track.
+ */
+public class TrackSelection {
+ /**
+ * TrackSelections is a track property condition list which can specify
+ * track(s).
+ */
+ @JsonProperty(value = "trackSelections")
+ private List trackSelections;
+
+ /**
+ * Get trackSelections is a track property condition list which can specify track(s).
+ *
+ * @return the trackSelections value
+ */
+ public List trackSelections() {
+ return this.trackSelections;
+ }
+
+ /**
+ * Set trackSelections is a track property condition list which can specify track(s).
+ *
+ * @param trackSelections the trackSelections value to set
+ * @return the TrackSelection object itself.
+ */
+ public TrackSelection withTrackSelections(List trackSelections) {
+ this.trackSelections = trackSelections;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Transform.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Transform.java
new file mode 100644
index 000000000000..1e2bc897362e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Transform.java
@@ -0,0 +1,137 @@
+/**
+ * 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_03_30_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.implementation.TransformInner;
+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_03_30_preview.implementation.MediaManager;
+import org.joda.time.DateTime;
+import java.util.List;
+
+/**
+ * Type representing Transform.
+ */
+public interface Transform 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 outputs value.
+ */
+ List outputs();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the Transform definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithMediaservice, DefinitionStages.WithOutputs, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of Transform definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a Transform definition.
+ */
+ interface Blank extends WithMediaservice {
+ }
+
+ /**
+ * The stage of the transform definition allowing to specify Mediaservice.
+ */
+ interface WithMediaservice {
+ /**
+ * Specifies resourceGroupName, accountName.
+ */
+ WithOutputs withExistingMediaservice(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the transform definition allowing to specify Outputs.
+ */
+ interface WithOutputs {
+ /**
+ * Specifies outputs.
+ */
+ WithCreate withOutputs(List outputs);
+ }
+
+ /**
+ * The stage of the transform 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 Transform update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithDescription {
+ }
+
+ /**
+ * Grouping of Transform update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the transform update allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ */
+ Update withDescription(String description);
+ }
+
+ }
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TransformOutput.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TransformOutput.java
new file mode 100644
index 000000000000..92aaf9220b0f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TransformOutput.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Describes the properties of a TransformOutput, which are the rules to be
+ * applied while generating the desired output.
+ */
+public class TransformOutput {
+ /**
+ * A Transform can define more than one outputs. This property defines what
+ * the service should do when one output fails - either continue to produce
+ * other outputs, or, stop the other outputs. The default is stop. Possible
+ * values include: 'StopProcessingJob', 'ContinueJob'.
+ */
+ @JsonProperty(value = "onError")
+ private OnErrorType onError;
+
+ /**
+ * Sets the relative priority of the TransformOutputs within a Transform.
+ * This sets the priority that the service uses for processing
+ * TransformOutputs. The default priority is Normal. Possible values
+ * include: 'Low', 'Normal', 'High'.
+ */
+ @JsonProperty(value = "relativePriority")
+ private Priority relativePriority;
+
+ /**
+ * Preset that describes the operations that will be used to modify,
+ * transcode, or extract insights from the source file to generate the
+ * output.
+ */
+ @JsonProperty(value = "preset", required = true)
+ private Preset preset;
+
+ /**
+ * Get a Transform can define more than one outputs. This property defines what the service should do when one output fails - either continue to produce other outputs, or, stop the other outputs. The default is stop. Possible values include: 'StopProcessingJob', 'ContinueJob'.
+ *
+ * @return the onError value
+ */
+ public OnErrorType onError() {
+ return this.onError;
+ }
+
+ /**
+ * Set a Transform can define more than one outputs. This property defines what the service should do when one output fails - either continue to produce other outputs, or, stop the other outputs. The default is stop. Possible values include: 'StopProcessingJob', 'ContinueJob'.
+ *
+ * @param onError the onError value to set
+ * @return the TransformOutput object itself.
+ */
+ public TransformOutput withOnError(OnErrorType onError) {
+ this.onError = onError;
+ return this;
+ }
+
+ /**
+ * Get sets the relative priority of the TransformOutputs within a Transform. This sets the priority that the service uses for processing TransformOutputs. The default priority is Normal. Possible values include: 'Low', 'Normal', 'High'.
+ *
+ * @return the relativePriority value
+ */
+ public Priority relativePriority() {
+ return this.relativePriority;
+ }
+
+ /**
+ * Set sets the relative priority of the TransformOutputs within a Transform. This sets the priority that the service uses for processing TransformOutputs. The default priority is Normal. Possible values include: 'Low', 'Normal', 'High'.
+ *
+ * @param relativePriority the relativePriority value to set
+ * @return the TransformOutput object itself.
+ */
+ public TransformOutput withRelativePriority(Priority relativePriority) {
+ this.relativePriority = relativePriority;
+ return this;
+ }
+
+ /**
+ * Get preset that describes the operations that will be used to modify, transcode, or extract insights from the source file to generate the output.
+ *
+ * @return the preset value
+ */
+ public Preset preset() {
+ return this.preset;
+ }
+
+ /**
+ * Set preset that describes the operations that will be used to modify, transcode, or extract insights from the source file to generate the output.
+ *
+ * @param preset the preset value to set
+ * @return the TransformOutput object itself.
+ */
+ public TransformOutput withPreset(Preset preset) {
+ this.preset = preset;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Transforms.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Transforms.java
new file mode 100644
index 000000000000..a8a5df41a7b2
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Transforms.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_03_30_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.implementation.TransformsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Transforms.
+ */
+public interface Transforms extends SupportsCreating, HasInner {
+ /**
+ * Get Transform.
+ * Gets a 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 getAsync(String resourceGroupName, String accountName, String transformName);
+
+ /**
+ * List Transforms.
+ * Lists the Transforms 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 Transform.
+ * Deletes a 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
+ */
+ Completable deleteAsync(String resourceGroupName, String accountName, String transformName);
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TransportStreamFormat.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TransportStreamFormat.java
new file mode 100644
index 000000000000..dadd182b1504
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/TransportStreamFormat.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes the properties for generating an MPEG-2 Transport Stream (ISO/IEC
+ * 13818-1) output video file(s).
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.TransportStreamFormat")
+public class TransportStreamFormat extends MultiBitrateFormat {
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Video.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Video.java
new file mode 100644
index 000000000000..69eb0ed96964
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/Video.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_03_30_preview;
+
+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;
+
+/**
+ * Describes the basic properties for encoding the input video.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.Video")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.Image", value = Image.class),
+ @JsonSubTypes.Type(name = "#Microsoft.Media.H264Video", value = H264Video.class)
+})
+public class Video extends Codec {
+ /**
+ * The distance between two key frames, thereby defining a group of
+ * pictures (GOP). The value should be a non-zero integer in the range [1,
+ * 30] seconds, specified in ISO 8601 format. The default is 2 seconds
+ * (PT2S).
+ */
+ @JsonProperty(value = "keyFrameInterval")
+ private Period keyFrameInterval;
+
+ /**
+ * The resizing mode - how the input video will be resized to fit the
+ * desired output resolution(s). Default is AutoSize. Possible values
+ * include: 'None', 'AutoSize', 'AutoFit'.
+ */
+ @JsonProperty(value = "stretchMode")
+ private StretchMode stretchMode;
+
+ /**
+ * Get the distance between two key frames, thereby defining a group of pictures (GOP). The value should be a non-zero integer in the range [1, 30] seconds, specified in ISO 8601 format. The default is 2 seconds (PT2S).
+ *
+ * @return the keyFrameInterval value
+ */
+ public Period keyFrameInterval() {
+ return this.keyFrameInterval;
+ }
+
+ /**
+ * Set the distance between two key frames, thereby defining a group of pictures (GOP). The value should be a non-zero integer in the range [1, 30] seconds, specified in ISO 8601 format. The default is 2 seconds (PT2S).
+ *
+ * @param keyFrameInterval the keyFrameInterval value to set
+ * @return the Video object itself.
+ */
+ public Video withKeyFrameInterval(Period keyFrameInterval) {
+ this.keyFrameInterval = keyFrameInterval;
+ return this;
+ }
+
+ /**
+ * Get the resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize. Possible values include: 'None', 'AutoSize', 'AutoFit'.
+ *
+ * @return the stretchMode value
+ */
+ public StretchMode stretchMode() {
+ return this.stretchMode;
+ }
+
+ /**
+ * Set the resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize. Possible values include: 'None', 'AutoSize', 'AutoFit'.
+ *
+ * @param stretchMode the stretchMode value to set
+ * @return the Video object itself.
+ */
+ public Video withStretchMode(StretchMode stretchMode) {
+ this.stretchMode = stretchMode;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/VideoAnalyzerPreset.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/VideoAnalyzerPreset.java
new file mode 100644
index 000000000000..5c41f8262e4e
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/VideoAnalyzerPreset.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A video analyzer preset that extracts insights (rich metadata) from both
+ * audio and video, and outputs a JSON format file.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.VideoAnalyzerPreset")
+public class VideoAnalyzerPreset extends AudioAnalyzerPreset {
+ /**
+ * Whether to only extract audio insights when processing a video file.
+ */
+ @JsonProperty(value = "audioInsightsOnly")
+ private Boolean audioInsightsOnly;
+
+ /**
+ * Get whether to only extract audio insights when processing a video file.
+ *
+ * @return the audioInsightsOnly value
+ */
+ public Boolean audioInsightsOnly() {
+ return this.audioInsightsOnly;
+ }
+
+ /**
+ * Set whether to only extract audio insights when processing a video file.
+ *
+ * @param audioInsightsOnly the audioInsightsOnly value to set
+ * @return the VideoAnalyzerPreset object itself.
+ */
+ public VideoAnalyzerPreset withAudioInsightsOnly(Boolean audioInsightsOnly) {
+ this.audioInsightsOnly = audioInsightsOnly;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/VideoLayer.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/VideoLayer.java
new file mode 100644
index 000000000000..76bc34c2a93a
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/VideoLayer.java
@@ -0,0 +1,196 @@
+/**
+ * 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_03_30_preview;
+
+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 settings to be used when encoding the input video into a
+ * desired output bitrate layer.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.VideoLayer")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "#Microsoft.Media.H264Layer", value = H264Layer.class)
+})
+public class VideoLayer extends Layer {
+ /**
+ * The average bitrate in bits per second at which to encode the input
+ * video when generating this layer. This is a required field.
+ */
+ @JsonProperty(value = "bitrate")
+ private Integer bitrate;
+
+ /**
+ * The maximum bitrate (in bits per second), at which the VBV buffer should
+ * be assumed to refill. If not specified, defaults to the same value as
+ * bitrate.
+ */
+ @JsonProperty(value = "maxBitrate")
+ private Integer maxBitrate;
+
+ /**
+ * The number of B-frames to be used when encoding this layer. If not
+ * specified, the encoder chooses an appropriate number based on the video
+ * profile and level.
+ */
+ @JsonProperty(value = "bFrames")
+ private Integer bFrames;
+
+ /**
+ * The frame rate (in frames per second) at which to encode this layer. The
+ * value can be in the form of M/N where M and N are integers (For example,
+ * 30000/1001), or in the form of a number (For example, 30, or 29.97). The
+ * encoder enforces constraints on allowed frame rates based on the profile
+ * and level. If it is not specified, the encoder will use the same frame
+ * rate as the input video.
+ */
+ @JsonProperty(value = "frameRate")
+ private String frameRate;
+
+ /**
+ * The number of slices to be used when encoding this layer. If not
+ * specified, default is zero, which means that encoder will use a single
+ * slice for each frame.
+ */
+ @JsonProperty(value = "slices")
+ private Integer slices;
+
+ /**
+ * Whether or not adaptive B-frames are to be used when encoding this
+ * layer. If not specified, the encoder will turn it on whenever the video
+ * profile permits its use.
+ */
+ @JsonProperty(value = "adaptiveBFrame")
+ private Boolean adaptiveBFrame;
+
+ /**
+ * Get the average bitrate in bits per second at which to encode the input video when generating this layer. This is a required field.
+ *
+ * @return the bitrate value
+ */
+ public Integer bitrate() {
+ return this.bitrate;
+ }
+
+ /**
+ * Set the average bitrate in bits per second at which to encode the input video when generating this layer. This is a required field.
+ *
+ * @param bitrate the bitrate value to set
+ * @return the VideoLayer object itself.
+ */
+ public VideoLayer withBitrate(Integer bitrate) {
+ this.bitrate = bitrate;
+ return this;
+ }
+
+ /**
+ * Get the maximum bitrate (in bits per second), at which the VBV buffer should be assumed to refill. If not specified, defaults to the same value as bitrate.
+ *
+ * @return the maxBitrate value
+ */
+ public Integer maxBitrate() {
+ return this.maxBitrate;
+ }
+
+ /**
+ * Set the maximum bitrate (in bits per second), at which the VBV buffer should be assumed to refill. If not specified, defaults to the same value as bitrate.
+ *
+ * @param maxBitrate the maxBitrate value to set
+ * @return the VideoLayer object itself.
+ */
+ public VideoLayer withMaxBitrate(Integer maxBitrate) {
+ this.maxBitrate = maxBitrate;
+ return this;
+ }
+
+ /**
+ * Get the number of B-frames to be used when encoding this layer. If not specified, the encoder chooses an appropriate number based on the video profile and level.
+ *
+ * @return the bFrames value
+ */
+ public Integer bFrames() {
+ return this.bFrames;
+ }
+
+ /**
+ * Set the number of B-frames to be used when encoding this layer. If not specified, the encoder chooses an appropriate number based on the video profile and level.
+ *
+ * @param bFrames the bFrames value to set
+ * @return the VideoLayer object itself.
+ */
+ public VideoLayer withBFrames(Integer bFrames) {
+ this.bFrames = bFrames;
+ return this;
+ }
+
+ /**
+ * Get the frame rate (in frames per second) at which to encode this layer. The value can be in the form of M/N where M and N are integers (For example, 30000/1001), or in the form of a number (For example, 30, or 29.97). The encoder enforces constraints on allowed frame rates based on the profile and level. If it is not specified, the encoder will use the same frame rate as the input video.
+ *
+ * @return the frameRate value
+ */
+ public String frameRate() {
+ return this.frameRate;
+ }
+
+ /**
+ * Set the frame rate (in frames per second) at which to encode this layer. The value can be in the form of M/N where M and N are integers (For example, 30000/1001), or in the form of a number (For example, 30, or 29.97). The encoder enforces constraints on allowed frame rates based on the profile and level. If it is not specified, the encoder will use the same frame rate as the input video.
+ *
+ * @param frameRate the frameRate value to set
+ * @return the VideoLayer object itself.
+ */
+ public VideoLayer withFrameRate(String frameRate) {
+ this.frameRate = frameRate;
+ return this;
+ }
+
+ /**
+ * Get the number of slices to be used when encoding this layer. If not specified, default is zero, which means that encoder will use a single slice for each frame.
+ *
+ * @return the slices value
+ */
+ public Integer slices() {
+ return this.slices;
+ }
+
+ /**
+ * Set the number of slices to be used when encoding this layer. If not specified, default is zero, which means that encoder will use a single slice for each frame.
+ *
+ * @param slices the slices value to set
+ * @return the VideoLayer object itself.
+ */
+ public VideoLayer withSlices(Integer slices) {
+ this.slices = slices;
+ return this;
+ }
+
+ /**
+ * Get whether or not adaptive B-frames are to be used when encoding this layer. If not specified, the encoder will turn it on whenever the video profile permits its use.
+ *
+ * @return the adaptiveBFrame value
+ */
+ public Boolean adaptiveBFrame() {
+ return this.adaptiveBFrame;
+ }
+
+ /**
+ * Set whether or not adaptive B-frames are to be used when encoding this layer. If not specified, the encoder will turn it on whenever the video profile permits its use.
+ *
+ * @param adaptiveBFrame the adaptiveBFrame value to set
+ * @return the VideoLayer object itself.
+ */
+ public VideoLayer withAdaptiveBFrame(Boolean adaptiveBFrame) {
+ this.adaptiveBFrame = adaptiveBFrame;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/VideoOverlay.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/VideoOverlay.java
new file mode 100644
index 000000000000..347186545299
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/VideoOverlay.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_03_30_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Describes the properties of a video overlay.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@odata.type")
+@JsonTypeName("#Microsoft.Media.VideoOverlay")
+public class VideoOverlay extends Overlay {
+ /**
+ * The location in the input video where the overlay is applied.
+ */
+ @JsonProperty(value = "position")
+ private Rectangle position;
+
+ /**
+ * The opacity of the overlay. This is a value in the range [0 - 1.0].
+ * Default is 1.0 which mean the overlay is opaque.
+ */
+ @JsonProperty(value = "opacity")
+ private Double opacity;
+
+ /**
+ * An optional rectangular window used to crop the overlay image or video.
+ */
+ @JsonProperty(value = "cropRectangle")
+ private Rectangle cropRectangle;
+
+ /**
+ * Get the location in the input video where the overlay is applied.
+ *
+ * @return the position value
+ */
+ public Rectangle position() {
+ return this.position;
+ }
+
+ /**
+ * Set the location in the input video where the overlay is applied.
+ *
+ * @param position the position value to set
+ * @return the VideoOverlay object itself.
+ */
+ public VideoOverlay withPosition(Rectangle position) {
+ this.position = position;
+ return this;
+ }
+
+ /**
+ * Get the opacity of the overlay. This is a value in the range [0 - 1.0]. Default is 1.0 which mean the overlay is opaque.
+ *
+ * @return the opacity value
+ */
+ public Double opacity() {
+ return this.opacity;
+ }
+
+ /**
+ * Set the opacity of the overlay. This is a value in the range [0 - 1.0]. Default is 1.0 which mean the overlay is opaque.
+ *
+ * @param opacity the opacity value to set
+ * @return the VideoOverlay object itself.
+ */
+ public VideoOverlay withOpacity(Double opacity) {
+ this.opacity = opacity;
+ return this;
+ }
+
+ /**
+ * Get an optional rectangular window used to crop the overlay image or video.
+ *
+ * @return the cropRectangle value
+ */
+ public Rectangle cropRectangle() {
+ return this.cropRectangle;
+ }
+
+ /**
+ * Set an optional rectangular window used to crop the overlay image or video.
+ *
+ * @param cropRectangle the cropRectangle value to set
+ * @return the VideoOverlay object itself.
+ */
+ public VideoOverlay withCropRectangle(Rectangle cropRectangle) {
+ this.cropRectangle = cropRectangle;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetContainerSasImpl.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetContainerSasImpl.java
new file mode 100644
index 000000000000..7b7ca15faed0
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetContainerSasImpl.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_03_30_preview.implementation;
+
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.AssetContainerSas;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import java.util.List;
+
+class AssetContainerSasImpl extends WrapperImpl implements AssetContainerSas {
+ private final MediaManager manager;
+ AssetContainerSasImpl(AssetContainerSasInner inner, MediaManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public MediaManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public List assetContainerSasUrls() {
+ return this.inner().assetContainerSasUrls();
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetContainerSasInner.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetContainerSasInner.java
new file mode 100644
index 000000000000..c386a969383f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetContainerSasInner.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_03_30_preview.implementation;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The Asset Storage container SAS URLs.
+ */
+public class AssetContainerSasInner {
+ /**
+ * The list of Asset container SAS URLs.
+ */
+ @JsonProperty(value = "assetContainerSasUrls")
+ private List assetContainerSasUrls;
+
+ /**
+ * Get the list of Asset container SAS URLs.
+ *
+ * @return the assetContainerSasUrls value
+ */
+ public List assetContainerSasUrls() {
+ return this.assetContainerSasUrls;
+ }
+
+ /**
+ * Set the list of Asset container SAS URLs.
+ *
+ * @param assetContainerSasUrls the assetContainerSasUrls value to set
+ * @return the AssetContainerSasInner object itself.
+ */
+ public AssetContainerSasInner withAssetContainerSasUrls(List assetContainerSasUrls) {
+ this.assetContainerSasUrls = assetContainerSasUrls;
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetImpl.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetImpl.java
new file mode 100644
index 000000000000..57b9250959f3
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetImpl.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_03_30_preview.implementation;
+
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.Asset;
+import com.microsoft.azure.arm.model.implementation.CreatableUpdatableImpl;
+import rx.Observable;
+import java.util.UUID;
+import org.joda.time.DateTime;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.AssetStorageEncryptionFormat;
+
+class AssetImpl extends CreatableUpdatableImpl implements Asset, Asset.Definition, Asset.Update {
+ private final MediaManager manager;
+ private String resourceGroupName;
+ private String accountName;
+ private String assetName;
+
+ AssetImpl(String name, MediaManager manager) {
+ super(name, new AssetInner());
+ this.manager = manager;
+ // Set resource name
+ this.assetName = name;
+ //
+ }
+
+ AssetImpl(AssetInner inner, MediaManager manager) {
+ super(inner.name(), inner);
+ this.manager = manager;
+ // Set resource name
+ this.assetName = inner.name();
+ // resource ancestor names
+ this.resourceGroupName = IdParsingUtils.getValueFromIdByName(inner.id(), "resourceGroups");
+ this.accountName = IdParsingUtils.getValueFromIdByName(inner.id(), "mediaServices");
+ this.assetName = IdParsingUtils.getValueFromIdByName(inner.id(), "assets");
+ //
+ }
+
+ @Override
+ public MediaManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable createResourceAsync() {
+ AssetsInner client = this.manager().inner().assets();
+ return client.createOrUpdateAsync(this.resourceGroupName, this.accountName, this.assetName, this.inner())
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ public Observable updateResourceAsync() {
+ AssetsInner client = this.manager().inner().assets();
+ return client.updateAsync(this.resourceGroupName, this.accountName, this.assetName, this.inner())
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ AssetsInner client = this.manager().inner().assets();
+ return client.getAsync(this.resourceGroupName, this.accountName, this.assetName);
+ }
+
+ @Override
+ public boolean isInCreateMode() {
+ return this.inner().id() == null;
+ }
+
+
+ @Override
+ public String alternateId() {
+ return this.inner().alternateId();
+ }
+
+ @Override
+ public UUID assetId() {
+ return this.inner().assetId();
+ }
+
+ @Override
+ public String container() {
+ return this.inner().container();
+ }
+
+ @Override
+ public DateTime created() {
+ return this.inner().created();
+ }
+
+ @Override
+ public String description() {
+ return this.inner().description();
+ }
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public DateTime lastModified() {
+ return this.inner().lastModified();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public String storageAccountName() {
+ return this.inner().storageAccountName();
+ }
+
+ @Override
+ public AssetStorageEncryptionFormat storageEncryptionFormat() {
+ return this.inner().storageEncryptionFormat();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+ @Override
+ public AssetImpl withExistingMediaservice(String resourceGroupName, String accountName) {
+ this.resourceGroupName = resourceGroupName;
+ this.accountName = accountName;
+ return this;
+ }
+
+ @Override
+ public AssetImpl withAlternateId(String alternateId) {
+ this.inner().withAlternateId(alternateId);
+ return this;
+ }
+
+ @Override
+ public AssetImpl withContainer(String container) {
+ this.inner().withContainer(container);
+ return this;
+ }
+
+ @Override
+ public AssetImpl withDescription(String description) {
+ this.inner().withDescription(description);
+ return this;
+ }
+
+ @Override
+ public AssetImpl withStorageAccountName(String storageAccountName) {
+ this.inner().withStorageAccountName(storageAccountName);
+ return this;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetInner.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetInner.java
new file mode 100644
index 000000000000..6f2b21393a35
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetInner.java
@@ -0,0 +1,188 @@
+/**
+ * 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_03_30_preview.implementation;
+
+import java.util.UUID;
+import org.joda.time.DateTime;
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.AssetStorageEncryptionFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.ProxyResource;
+
+/**
+ * An Asset.
+ */
+@JsonFlatten
+public class AssetInner extends ProxyResource {
+ /**
+ * The Asset ID.
+ */
+ @JsonProperty(value = "properties.assetId", access = JsonProperty.Access.WRITE_ONLY)
+ private UUID assetId;
+
+ /**
+ * The creation date of the Asset.
+ */
+ @JsonProperty(value = "properties.created", access = JsonProperty.Access.WRITE_ONLY)
+ private DateTime created;
+
+ /**
+ * The last modified date of the Asset.
+ */
+ @JsonProperty(value = "properties.lastModified", access = JsonProperty.Access.WRITE_ONLY)
+ private DateTime lastModified;
+
+ /**
+ * The alternate ID of the Asset.
+ */
+ @JsonProperty(value = "properties.alternateId")
+ private String alternateId;
+
+ /**
+ * The Asset description.
+ */
+ @JsonProperty(value = "properties.description")
+ private String description;
+
+ /**
+ * The name of the asset blob container.
+ */
+ @JsonProperty(value = "properties.container")
+ private String container;
+
+ /**
+ * The name of the storage account.
+ */
+ @JsonProperty(value = "properties.storageAccountName")
+ private String storageAccountName;
+
+ /**
+ * The Asset encryption format. One of None or MediaStorageEncryption.
+ * Possible values include: 'None', 'MediaStorageClientEncryption'.
+ */
+ @JsonProperty(value = "properties.storageEncryptionFormat", access = JsonProperty.Access.WRITE_ONLY)
+ private AssetStorageEncryptionFormat storageEncryptionFormat;
+
+ /**
+ * Get the Asset ID.
+ *
+ * @return the assetId value
+ */
+ public UUID assetId() {
+ return this.assetId;
+ }
+
+ /**
+ * Get the creation date of the Asset.
+ *
+ * @return the created value
+ */
+ public DateTime created() {
+ return this.created;
+ }
+
+ /**
+ * Get the last modified date of the Asset.
+ *
+ * @return the lastModified value
+ */
+ public DateTime lastModified() {
+ return this.lastModified;
+ }
+
+ /**
+ * Get the alternate ID of the Asset.
+ *
+ * @return the alternateId value
+ */
+ public String alternateId() {
+ return this.alternateId;
+ }
+
+ /**
+ * Set the alternate ID of the Asset.
+ *
+ * @param alternateId the alternateId value to set
+ * @return the AssetInner object itself.
+ */
+ public AssetInner withAlternateId(String alternateId) {
+ this.alternateId = alternateId;
+ return this;
+ }
+
+ /**
+ * Get the Asset description.
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the Asset description.
+ *
+ * @param description the description value to set
+ * @return the AssetInner object itself.
+ */
+ public AssetInner withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the name of the asset blob container.
+ *
+ * @return the container value
+ */
+ public String container() {
+ return this.container;
+ }
+
+ /**
+ * Set the name of the asset blob container.
+ *
+ * @param container the container value to set
+ * @return the AssetInner object itself.
+ */
+ public AssetInner withContainer(String container) {
+ this.container = container;
+ return this;
+ }
+
+ /**
+ * Get the name of the storage account.
+ *
+ * @return the storageAccountName value
+ */
+ public String storageAccountName() {
+ return this.storageAccountName;
+ }
+
+ /**
+ * Set the name of the storage account.
+ *
+ * @param storageAccountName the storageAccountName value to set
+ * @return the AssetInner object itself.
+ */
+ public AssetInner withStorageAccountName(String storageAccountName) {
+ this.storageAccountName = storageAccountName;
+ return this;
+ }
+
+ /**
+ * Get the Asset encryption format. One of None or MediaStorageEncryption. Possible values include: 'None', 'MediaStorageClientEncryption'.
+ *
+ * @return the storageEncryptionFormat value
+ */
+ public AssetStorageEncryptionFormat storageEncryptionFormat() {
+ return this.storageEncryptionFormat;
+ }
+
+}
diff --git a/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetStorageEncryptionKeyImpl.java b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetStorageEncryptionKeyImpl.java
new file mode 100644
index 000000000000..714c0db8826f
--- /dev/null
+++ b/mediaservices/resource-manager/v2018_03_30_preview/src/main/java/com/microsoft/azure/management/mediaservices/v2018_03_30_preview/implementation/AssetStorageEncryptionKeyImpl.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_03_30_preview.implementation;
+
+import com.microsoft.azure.management.mediaservices.v2018_03_30_preview.AssetStorageEncryptionKey;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+
+class AssetStorageEncryptionKeyImpl extends WrapperImpl