diff --git a/containerregistry/resource-manager/v2019_06_01_preview/pom.xml b/containerregistry/resource-manager/v2019_06_01_preview/pom.xml
new file mode 100644
index 000000000000..7ec93b5751e4
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/pom.xml
@@ -0,0 +1,133 @@
+
+
+ 4.0.0
+ com.microsoft.azure.containerregistry.v2019_06_01_preview
+
+ com.microsoft.azure
+ azure-arm-parent
+ 0.0.3-beta
+ ../../../pom.xml
+
+ azure-mgmt-containerregistry
+ 1.0.0-beta
+ jar
+ Microsoft Azure SDK for ContainerRegistry Management
+ This package contains Microsoft ContainerRegistry Management SDK.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-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/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/AgentProperties.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/AgentProperties.java
new file mode 100644
index 000000000000..97007d0f7ddf
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/AgentProperties.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties that determine the run agent configuration.
+ */
+public class AgentProperties {
+ /**
+ * The CPU configuration in terms of number of cores required for the run.
+ */
+ @JsonProperty(value = "cpu")
+ private Integer cpu;
+
+ /**
+ * Get the CPU configuration in terms of number of cores required for the run.
+ *
+ * @return the cpu value
+ */
+ public Integer cpu() {
+ return this.cpu;
+ }
+
+ /**
+ * Set the CPU configuration in terms of number of cores required for the run.
+ *
+ * @param cpu the cpu value to set
+ * @return the AgentProperties object itself.
+ */
+ public AgentProperties withCpu(Integer cpu) {
+ this.cpu = cpu;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Architecture.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Architecture.java
new file mode 100644
index 000000000000..c98905adac3e
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Architecture.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for Architecture.
+ */
+public final class Architecture extends ExpandableStringEnum {
+ /** Static value amd64 for Architecture. */
+ public static final Architecture AMD64 = fromString("amd64");
+
+ /** Static value x86 for Architecture. */
+ public static final Architecture X86 = fromString("x86");
+
+ /** Static value 386 for Architecture. */
+ public static final Architecture THREE_EIGHT_SIX = fromString("386");
+
+ /** Static value arm for Architecture. */
+ public static final Architecture ARM = fromString("arm");
+
+ /** Static value arm64 for Architecture. */
+ public static final Architecture ARM64 = fromString("arm64");
+
+ /**
+ * Creates or finds a Architecture from its string representation.
+ * @param name a name to look for
+ * @return the corresponding Architecture
+ */
+ @JsonCreator
+ public static Architecture fromString(String name) {
+ return fromString(name, Architecture.class);
+ }
+
+ /**
+ * @return known Architecture values
+ */
+ public static Collection values() {
+ return values(Architecture.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Argument.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Argument.java
new file mode 100644
index 000000000000..2a70c8daf9ce
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Argument.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties of a run argument.
+ */
+public class Argument {
+ /**
+ * The name of the argument.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * The value of the argument.
+ */
+ @JsonProperty(value = "value", required = true)
+ private String value;
+
+ /**
+ * Flag to indicate whether the argument represents a secret and want to be
+ * removed from build logs.
+ */
+ @JsonProperty(value = "isSecret")
+ private Boolean isSecret;
+
+ /**
+ * Get the name of the argument.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the argument.
+ *
+ * @param name the name value to set
+ * @return the Argument object itself.
+ */
+ public Argument withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the value of the argument.
+ *
+ * @return the value value
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value of the argument.
+ *
+ * @param value the value value to set
+ * @return the Argument object itself.
+ */
+ public Argument withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get flag to indicate whether the argument represents a secret and want to be removed from build logs.
+ *
+ * @return the isSecret value
+ */
+ public Boolean isSecret() {
+ return this.isSecret;
+ }
+
+ /**
+ * Set flag to indicate whether the argument represents a secret and want to be removed from build logs.
+ *
+ * @param isSecret the isSecret value to set
+ * @return the Argument object itself.
+ */
+ public Argument withIsSecret(Boolean isSecret) {
+ this.isSecret = isSecret;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/AuthInfo.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/AuthInfo.java
new file mode 100644
index 000000000000..9216828b6668
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/AuthInfo.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The authorization properties for accessing the source code repository.
+ */
+public class AuthInfo {
+ /**
+ * The type of Auth token. Possible values include: 'PAT', 'OAuth'.
+ */
+ @JsonProperty(value = "tokenType", required = true)
+ private TokenType tokenType;
+
+ /**
+ * The access token used to access the source control provider.
+ */
+ @JsonProperty(value = "token", required = true)
+ private String token;
+
+ /**
+ * The refresh token used to refresh the access token.
+ */
+ @JsonProperty(value = "refreshToken")
+ private String refreshToken;
+
+ /**
+ * The scope of the access token.
+ */
+ @JsonProperty(value = "scope")
+ private String scope;
+
+ /**
+ * Time in seconds that the token remains valid.
+ */
+ @JsonProperty(value = "expiresIn")
+ private Integer expiresIn;
+
+ /**
+ * Get the type of Auth token. Possible values include: 'PAT', 'OAuth'.
+ *
+ * @return the tokenType value
+ */
+ public TokenType tokenType() {
+ return this.tokenType;
+ }
+
+ /**
+ * Set the type of Auth token. Possible values include: 'PAT', 'OAuth'.
+ *
+ * @param tokenType the tokenType value to set
+ * @return the AuthInfo object itself.
+ */
+ public AuthInfo withTokenType(TokenType tokenType) {
+ this.tokenType = tokenType;
+ return this;
+ }
+
+ /**
+ * Get the access token used to access the source control provider.
+ *
+ * @return the token value
+ */
+ public String token() {
+ return this.token;
+ }
+
+ /**
+ * Set the access token used to access the source control provider.
+ *
+ * @param token the token value to set
+ * @return the AuthInfo object itself.
+ */
+ public AuthInfo withToken(String token) {
+ this.token = token;
+ return this;
+ }
+
+ /**
+ * Get the refresh token used to refresh the access token.
+ *
+ * @return the refreshToken value
+ */
+ public String refreshToken() {
+ return this.refreshToken;
+ }
+
+ /**
+ * Set the refresh token used to refresh the access token.
+ *
+ * @param refreshToken the refreshToken value to set
+ * @return the AuthInfo object itself.
+ */
+ public AuthInfo withRefreshToken(String refreshToken) {
+ this.refreshToken = refreshToken;
+ return this;
+ }
+
+ /**
+ * Get the scope of the access token.
+ *
+ * @return the scope value
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope of the access token.
+ *
+ * @param scope the scope value to set
+ * @return the AuthInfo object itself.
+ */
+ public AuthInfo withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get time in seconds that the token remains valid.
+ *
+ * @return the expiresIn value
+ */
+ public Integer expiresIn() {
+ return this.expiresIn;
+ }
+
+ /**
+ * Set time in seconds that the token remains valid.
+ *
+ * @param expiresIn the expiresIn value to set
+ * @return the AuthInfo object itself.
+ */
+ public AuthInfo withExpiresIn(Integer expiresIn) {
+ this.expiresIn = expiresIn;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/AuthInfoUpdateParameters.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/AuthInfoUpdateParameters.java
new file mode 100644
index 000000000000..a35264490753
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/AuthInfoUpdateParameters.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The authorization properties for accessing the source code repository.
+ */
+public class AuthInfoUpdateParameters {
+ /**
+ * The type of Auth token. Possible values include: 'PAT', 'OAuth'.
+ */
+ @JsonProperty(value = "tokenType")
+ private TokenType tokenType;
+
+ /**
+ * The access token used to access the source control provider.
+ */
+ @JsonProperty(value = "token")
+ private String token;
+
+ /**
+ * The refresh token used to refresh the access token.
+ */
+ @JsonProperty(value = "refreshToken")
+ private String refreshToken;
+
+ /**
+ * The scope of the access token.
+ */
+ @JsonProperty(value = "scope")
+ private String scope;
+
+ /**
+ * Time in seconds that the token remains valid.
+ */
+ @JsonProperty(value = "expiresIn")
+ private Integer expiresIn;
+
+ /**
+ * Get the type of Auth token. Possible values include: 'PAT', 'OAuth'.
+ *
+ * @return the tokenType value
+ */
+ public TokenType tokenType() {
+ return this.tokenType;
+ }
+
+ /**
+ * Set the type of Auth token. Possible values include: 'PAT', 'OAuth'.
+ *
+ * @param tokenType the tokenType value to set
+ * @return the AuthInfoUpdateParameters object itself.
+ */
+ public AuthInfoUpdateParameters withTokenType(TokenType tokenType) {
+ this.tokenType = tokenType;
+ return this;
+ }
+
+ /**
+ * Get the access token used to access the source control provider.
+ *
+ * @return the token value
+ */
+ public String token() {
+ return this.token;
+ }
+
+ /**
+ * Set the access token used to access the source control provider.
+ *
+ * @param token the token value to set
+ * @return the AuthInfoUpdateParameters object itself.
+ */
+ public AuthInfoUpdateParameters withToken(String token) {
+ this.token = token;
+ return this;
+ }
+
+ /**
+ * Get the refresh token used to refresh the access token.
+ *
+ * @return the refreshToken value
+ */
+ public String refreshToken() {
+ return this.refreshToken;
+ }
+
+ /**
+ * Set the refresh token used to refresh the access token.
+ *
+ * @param refreshToken the refreshToken value to set
+ * @return the AuthInfoUpdateParameters object itself.
+ */
+ public AuthInfoUpdateParameters withRefreshToken(String refreshToken) {
+ this.refreshToken = refreshToken;
+ return this;
+ }
+
+ /**
+ * Get the scope of the access token.
+ *
+ * @return the scope value
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope of the access token.
+ *
+ * @param scope the scope value to set
+ * @return the AuthInfoUpdateParameters object itself.
+ */
+ public AuthInfoUpdateParameters withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get time in seconds that the token remains valid.
+ *
+ * @return the expiresIn value
+ */
+ public Integer expiresIn() {
+ return this.expiresIn;
+ }
+
+ /**
+ * Set time in seconds that the token remains valid.
+ *
+ * @param expiresIn the expiresIn value to set
+ * @return the AuthInfoUpdateParameters object itself.
+ */
+ public AuthInfoUpdateParameters withExpiresIn(Integer expiresIn) {
+ this.expiresIn = expiresIn;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageDependency.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageDependency.java
new file mode 100644
index 000000000000..00689fbd44c9
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageDependency.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Properties that describe a base image dependency.
+ */
+public class BaseImageDependency {
+ /**
+ * The type of the base image dependency. Possible values include:
+ * 'BuildTime', 'RunTime'.
+ */
+ @JsonProperty(value = "type")
+ private BaseImageDependencyType type;
+
+ /**
+ * The registry login server.
+ */
+ @JsonProperty(value = "registry")
+ private String registry;
+
+ /**
+ * The repository name.
+ */
+ @JsonProperty(value = "repository")
+ private String repository;
+
+ /**
+ * The tag name.
+ */
+ @JsonProperty(value = "tag")
+ private String tag;
+
+ /**
+ * The sha256-based digest of the image manifest.
+ */
+ @JsonProperty(value = "digest")
+ private String digest;
+
+ /**
+ * Get the type of the base image dependency. Possible values include: 'BuildTime', 'RunTime'.
+ *
+ * @return the type value
+ */
+ public BaseImageDependencyType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type of the base image dependency. Possible values include: 'BuildTime', 'RunTime'.
+ *
+ * @param type the type value to set
+ * @return the BaseImageDependency object itself.
+ */
+ public BaseImageDependency withType(BaseImageDependencyType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the registry login server.
+ *
+ * @return the registry value
+ */
+ public String registry() {
+ return this.registry;
+ }
+
+ /**
+ * Set the registry login server.
+ *
+ * @param registry the registry value to set
+ * @return the BaseImageDependency object itself.
+ */
+ public BaseImageDependency withRegistry(String registry) {
+ this.registry = registry;
+ return this;
+ }
+
+ /**
+ * Get the repository name.
+ *
+ * @return the repository value
+ */
+ public String repository() {
+ return this.repository;
+ }
+
+ /**
+ * Set the repository name.
+ *
+ * @param repository the repository value to set
+ * @return the BaseImageDependency object itself.
+ */
+ public BaseImageDependency withRepository(String repository) {
+ this.repository = repository;
+ return this;
+ }
+
+ /**
+ * Get the tag name.
+ *
+ * @return the tag value
+ */
+ public String tag() {
+ return this.tag;
+ }
+
+ /**
+ * Set the tag name.
+ *
+ * @param tag the tag value to set
+ * @return the BaseImageDependency object itself.
+ */
+ public BaseImageDependency withTag(String tag) {
+ this.tag = tag;
+ return this;
+ }
+
+ /**
+ * Get the sha256-based digest of the image manifest.
+ *
+ * @return the digest value
+ */
+ public String digest() {
+ return this.digest;
+ }
+
+ /**
+ * Set the sha256-based digest of the image manifest.
+ *
+ * @param digest the digest value to set
+ * @return the BaseImageDependency object itself.
+ */
+ public BaseImageDependency withDigest(String digest) {
+ this.digest = digest;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageDependencyType.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageDependencyType.java
new file mode 100644
index 000000000000..c92d2ee79b53
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageDependencyType.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for BaseImageDependencyType.
+ */
+public final class BaseImageDependencyType extends ExpandableStringEnum {
+ /** Static value BuildTime for BaseImageDependencyType. */
+ public static final BaseImageDependencyType BUILD_TIME = fromString("BuildTime");
+
+ /** Static value RunTime for BaseImageDependencyType. */
+ public static final BaseImageDependencyType RUN_TIME = fromString("RunTime");
+
+ /**
+ * Creates or finds a BaseImageDependencyType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding BaseImageDependencyType
+ */
+ @JsonCreator
+ public static BaseImageDependencyType fromString(String name) {
+ return fromString(name, BaseImageDependencyType.class);
+ }
+
+ /**
+ * @return known BaseImageDependencyType values
+ */
+ public static Collection values() {
+ return values(BaseImageDependencyType.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageTrigger.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageTrigger.java
new file mode 100644
index 000000000000..ea164b07ee50
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageTrigger.java
@@ -0,0 +1,150 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The trigger based on base image dependency.
+ */
+public class BaseImageTrigger {
+ /**
+ * The type of the auto trigger for base image dependency updates. Possible
+ * values include: 'All', 'Runtime'.
+ */
+ @JsonProperty(value = "baseImageTriggerType", required = true)
+ private BaseImageTriggerType baseImageTriggerType;
+
+ /**
+ * The endpoint URL for receiving update triggers.
+ */
+ @JsonProperty(value = "updateTriggerEndpoint")
+ private String updateTriggerEndpoint;
+
+ /**
+ * Type of Payload body for Base image update triggers. Possible values
+ * include: 'Default', 'Token'.
+ */
+ @JsonProperty(value = "updateTriggerPayloadType")
+ private UpdateTriggerPayloadType updateTriggerPayloadType;
+
+ /**
+ * The current status of trigger. Possible values include: 'Disabled',
+ * 'Enabled'.
+ */
+ @JsonProperty(value = "status")
+ private TriggerStatus status;
+
+ /**
+ * The name of the trigger.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Get the type of the auto trigger for base image dependency updates. Possible values include: 'All', 'Runtime'.
+ *
+ * @return the baseImageTriggerType value
+ */
+ public BaseImageTriggerType baseImageTriggerType() {
+ return this.baseImageTriggerType;
+ }
+
+ /**
+ * Set the type of the auto trigger for base image dependency updates. Possible values include: 'All', 'Runtime'.
+ *
+ * @param baseImageTriggerType the baseImageTriggerType value to set
+ * @return the BaseImageTrigger object itself.
+ */
+ public BaseImageTrigger withBaseImageTriggerType(BaseImageTriggerType baseImageTriggerType) {
+ this.baseImageTriggerType = baseImageTriggerType;
+ return this;
+ }
+
+ /**
+ * Get the endpoint URL for receiving update triggers.
+ *
+ * @return the updateTriggerEndpoint value
+ */
+ public String updateTriggerEndpoint() {
+ return this.updateTriggerEndpoint;
+ }
+
+ /**
+ * Set the endpoint URL for receiving update triggers.
+ *
+ * @param updateTriggerEndpoint the updateTriggerEndpoint value to set
+ * @return the BaseImageTrigger object itself.
+ */
+ public BaseImageTrigger withUpdateTriggerEndpoint(String updateTriggerEndpoint) {
+ this.updateTriggerEndpoint = updateTriggerEndpoint;
+ return this;
+ }
+
+ /**
+ * Get type of Payload body for Base image update triggers. Possible values include: 'Default', 'Token'.
+ *
+ * @return the updateTriggerPayloadType value
+ */
+ public UpdateTriggerPayloadType updateTriggerPayloadType() {
+ return this.updateTriggerPayloadType;
+ }
+
+ /**
+ * Set type of Payload body for Base image update triggers. Possible values include: 'Default', 'Token'.
+ *
+ * @param updateTriggerPayloadType the updateTriggerPayloadType value to set
+ * @return the BaseImageTrigger object itself.
+ */
+ public BaseImageTrigger withUpdateTriggerPayloadType(UpdateTriggerPayloadType updateTriggerPayloadType) {
+ this.updateTriggerPayloadType = updateTriggerPayloadType;
+ return this;
+ }
+
+ /**
+ * Get the current status of trigger. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @return the status value
+ */
+ public TriggerStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the current status of trigger. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @param status the status value to set
+ * @return the BaseImageTrigger object itself.
+ */
+ public BaseImageTrigger withStatus(TriggerStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the name of the trigger.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the trigger.
+ *
+ * @param name the name value to set
+ * @return the BaseImageTrigger object itself.
+ */
+ public BaseImageTrigger withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageTriggerType.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageTriggerType.java
new file mode 100644
index 000000000000..d502cdc4f5ee
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageTriggerType.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for BaseImageTriggerType.
+ */
+public final class BaseImageTriggerType extends ExpandableStringEnum {
+ /** Static value All for BaseImageTriggerType. */
+ public static final BaseImageTriggerType ALL = fromString("All");
+
+ /** Static value Runtime for BaseImageTriggerType. */
+ public static final BaseImageTriggerType RUNTIME = fromString("Runtime");
+
+ /**
+ * Creates or finds a BaseImageTriggerType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding BaseImageTriggerType
+ */
+ @JsonCreator
+ public static BaseImageTriggerType fromString(String name) {
+ return fromString(name, BaseImageTriggerType.class);
+ }
+
+ /**
+ * @return known BaseImageTriggerType values
+ */
+ public static Collection values() {
+ return values(BaseImageTriggerType.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageTriggerUpdateParameters.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageTriggerUpdateParameters.java
new file mode 100644
index 000000000000..00ef39ae6375
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/BaseImageTriggerUpdateParameters.java
@@ -0,0 +1,150 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties for updating base image dependency trigger.
+ */
+public class BaseImageTriggerUpdateParameters {
+ /**
+ * The type of the auto trigger for base image dependency updates. Possible
+ * values include: 'All', 'Runtime'.
+ */
+ @JsonProperty(value = "baseImageTriggerType")
+ private BaseImageTriggerType baseImageTriggerType;
+
+ /**
+ * The endpoint URL for receiving update triggers.
+ */
+ @JsonProperty(value = "updateTriggerEndpoint")
+ private String updateTriggerEndpoint;
+
+ /**
+ * Type of Payload body for Base image update triggers. Possible values
+ * include: 'Default', 'Token'.
+ */
+ @JsonProperty(value = "updateTriggerPayloadType")
+ private UpdateTriggerPayloadType updateTriggerPayloadType;
+
+ /**
+ * The current status of trigger. Possible values include: 'Disabled',
+ * 'Enabled'.
+ */
+ @JsonProperty(value = "status")
+ private TriggerStatus status;
+
+ /**
+ * The name of the trigger.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Get the type of the auto trigger for base image dependency updates. Possible values include: 'All', 'Runtime'.
+ *
+ * @return the baseImageTriggerType value
+ */
+ public BaseImageTriggerType baseImageTriggerType() {
+ return this.baseImageTriggerType;
+ }
+
+ /**
+ * Set the type of the auto trigger for base image dependency updates. Possible values include: 'All', 'Runtime'.
+ *
+ * @param baseImageTriggerType the baseImageTriggerType value to set
+ * @return the BaseImageTriggerUpdateParameters object itself.
+ */
+ public BaseImageTriggerUpdateParameters withBaseImageTriggerType(BaseImageTriggerType baseImageTriggerType) {
+ this.baseImageTriggerType = baseImageTriggerType;
+ return this;
+ }
+
+ /**
+ * Get the endpoint URL for receiving update triggers.
+ *
+ * @return the updateTriggerEndpoint value
+ */
+ public String updateTriggerEndpoint() {
+ return this.updateTriggerEndpoint;
+ }
+
+ /**
+ * Set the endpoint URL for receiving update triggers.
+ *
+ * @param updateTriggerEndpoint the updateTriggerEndpoint value to set
+ * @return the BaseImageTriggerUpdateParameters object itself.
+ */
+ public BaseImageTriggerUpdateParameters withUpdateTriggerEndpoint(String updateTriggerEndpoint) {
+ this.updateTriggerEndpoint = updateTriggerEndpoint;
+ return this;
+ }
+
+ /**
+ * Get type of Payload body for Base image update triggers. Possible values include: 'Default', 'Token'.
+ *
+ * @return the updateTriggerPayloadType value
+ */
+ public UpdateTriggerPayloadType updateTriggerPayloadType() {
+ return this.updateTriggerPayloadType;
+ }
+
+ /**
+ * Set type of Payload body for Base image update triggers. Possible values include: 'Default', 'Token'.
+ *
+ * @param updateTriggerPayloadType the updateTriggerPayloadType value to set
+ * @return the BaseImageTriggerUpdateParameters object itself.
+ */
+ public BaseImageTriggerUpdateParameters withUpdateTriggerPayloadType(UpdateTriggerPayloadType updateTriggerPayloadType) {
+ this.updateTriggerPayloadType = updateTriggerPayloadType;
+ return this;
+ }
+
+ /**
+ * Get the current status of trigger. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @return the status value
+ */
+ public TriggerStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the current status of trigger. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @param status the status value to set
+ * @return the BaseImageTriggerUpdateParameters object itself.
+ */
+ public BaseImageTriggerUpdateParameters withStatus(TriggerStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the name of the trigger.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the trigger.
+ *
+ * @param name the name value to set
+ * @return the BaseImageTriggerUpdateParameters object itself.
+ */
+ public BaseImageTriggerUpdateParameters withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Credentials.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Credentials.java
new file mode 100644
index 000000000000..3060502caaf0
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Credentials.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.containerregistry.v2019_06_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The parameters that describes a set of credentials that will be used when a
+ * run is invoked.
+ */
+public class Credentials {
+ /**
+ * Describes the credential parameters for accessing the source registry.
+ */
+ @JsonProperty(value = "sourceRegistry")
+ private SourceRegistryCredentials sourceRegistry;
+
+ /**
+ * Describes the credential parameters for accessing other custom
+ * registries. The key
+ * for the dictionary item will be the registry login server
+ * (myregistry.azurecr.io) and
+ * the value of the item will be the registry credentials for accessing the
+ * registry.
+ */
+ @JsonProperty(value = "customRegistries")
+ private Map customRegistries;
+
+ /**
+ * Get describes the credential parameters for accessing the source registry.
+ *
+ * @return the sourceRegistry value
+ */
+ public SourceRegistryCredentials sourceRegistry() {
+ return this.sourceRegistry;
+ }
+
+ /**
+ * Set describes the credential parameters for accessing the source registry.
+ *
+ * @param sourceRegistry the sourceRegistry value to set
+ * @return the Credentials object itself.
+ */
+ public Credentials withSourceRegistry(SourceRegistryCredentials sourceRegistry) {
+ this.sourceRegistry = sourceRegistry;
+ return this;
+ }
+
+ /**
+ * Get describes the credential parameters for accessing other custom registries. The key
+ for the dictionary item will be the registry login server (myregistry.azurecr.io) and
+ the value of the item will be the registry credentials for accessing the registry.
+ *
+ * @return the customRegistries value
+ */
+ public Map customRegistries() {
+ return this.customRegistries;
+ }
+
+ /**
+ * Set describes the credential parameters for accessing other custom registries. The key
+ for the dictionary item will be the registry login server (myregistry.azurecr.io) and
+ the value of the item will be the registry credentials for accessing the registry.
+ *
+ * @param customRegistries the customRegistries value to set
+ * @return the Credentials object itself.
+ */
+ public Credentials withCustomRegistries(Map customRegistries) {
+ this.customRegistries = customRegistries;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/CustomRegistryCredentials.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/CustomRegistryCredentials.java
new file mode 100644
index 000000000000..cc5399cf583c
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/CustomRegistryCredentials.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Describes the credentials that will be used to access a custom registry
+ * during a run.
+ */
+public class CustomRegistryCredentials {
+ /**
+ * The username for logging into the custom registry.
+ */
+ @JsonProperty(value = "userName")
+ private SecretObject userName;
+
+ /**
+ * The password for logging into the custom registry. The password is a
+ * secret
+ * object that allows multiple ways of providing the value for it.
+ */
+ @JsonProperty(value = "password")
+ private SecretObject password;
+
+ /**
+ * Indicates the managed identity assigned to the custom credential. If a
+ * user-assigned identity
+ * this value is the Client ID. If a system-assigned identity, the value
+ * will be `system`. In
+ * the case of a system-assigned identity, the Client ID will be determined
+ * by the runner. This
+ * identity may be used to authenticate to key vault to retrieve
+ * credentials or it may be the only
+ * source of authentication used for accessing the registry.
+ */
+ @JsonProperty(value = "identity")
+ private String identity;
+
+ /**
+ * Get the username for logging into the custom registry.
+ *
+ * @return the userName value
+ */
+ public SecretObject userName() {
+ return this.userName;
+ }
+
+ /**
+ * Set the username for logging into the custom registry.
+ *
+ * @param userName the userName value to set
+ * @return the CustomRegistryCredentials object itself.
+ */
+ public CustomRegistryCredentials withUserName(SecretObject userName) {
+ this.userName = userName;
+ return this;
+ }
+
+ /**
+ * Get the password for logging into the custom registry. The password is a secret
+ object that allows multiple ways of providing the value for it.
+ *
+ * @return the password value
+ */
+ public SecretObject password() {
+ return this.password;
+ }
+
+ /**
+ * Set the password for logging into the custom registry. The password is a secret
+ object that allows multiple ways of providing the value for it.
+ *
+ * @param password the password value to set
+ * @return the CustomRegistryCredentials object itself.
+ */
+ public CustomRegistryCredentials withPassword(SecretObject password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get indicates the managed identity assigned to the custom credential. If a user-assigned identity
+ this value is the Client ID. If a system-assigned identity, the value will be `system`. In
+ the case of a system-assigned identity, the Client ID will be determined by the runner. This
+ identity may be used to authenticate to key vault to retrieve credentials or it may be the only
+ source of authentication used for accessing the registry.
+ *
+ * @return the identity value
+ */
+ public String identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set indicates the managed identity assigned to the custom credential. If a user-assigned identity
+ this value is the Client ID. If a system-assigned identity, the value will be `system`. In
+ the case of a system-assigned identity, the Client ID will be determined by the runner. This
+ identity may be used to authenticate to key vault to retrieve credentials or it may be the only
+ source of authentication used for accessing the registry.
+ *
+ * @param identity the identity value to set
+ * @return the CustomRegistryCredentials object itself.
+ */
+ public CustomRegistryCredentials withIdentity(String identity) {
+ this.identity = identity;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/DockerBuildRequest.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/DockerBuildRequest.java
new file mode 100644
index 000000000000..24153a9cc340
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/DockerBuildRequest.java
@@ -0,0 +1,316 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The parameters for a docker quick build.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeName("DockerBuildRequest")
+public class DockerBuildRequest extends RunRequest {
+ /**
+ * The fully qualified image names including the repository and tag.
+ */
+ @JsonProperty(value = "imageNames")
+ private List imageNames;
+
+ /**
+ * The value of this property indicates whether the image built should be
+ * pushed to the registry or not.
+ */
+ @JsonProperty(value = "isPushEnabled")
+ private Boolean isPushEnabled;
+
+ /**
+ * The value of this property indicates whether the image cache is enabled
+ * or not.
+ */
+ @JsonProperty(value = "noCache")
+ private Boolean noCache;
+
+ /**
+ * The Docker file path relative to the source location.
+ */
+ @JsonProperty(value = "dockerFilePath", required = true)
+ private String dockerFilePath;
+
+ /**
+ * The name of the target build stage for the docker build.
+ */
+ @JsonProperty(value = "target")
+ private String target;
+
+ /**
+ * The collection of override arguments to be used when executing the run.
+ */
+ @JsonProperty(value = "arguments")
+ private List arguments;
+
+ /**
+ * Run timeout in seconds.
+ */
+ @JsonProperty(value = "timeout")
+ private Integer timeout;
+
+ /**
+ * The platform properties against which the run has to happen.
+ */
+ @JsonProperty(value = "platform", required = true)
+ private PlatformProperties platform;
+
+ /**
+ * The machine configuration of the run agent.
+ */
+ @JsonProperty(value = "agentConfiguration")
+ private AgentProperties agentConfiguration;
+
+ /**
+ * The URL(absolute or relative) of the source context. It can be an URL to
+ * a tar or git repository.
+ * If it is relative URL, the relative path should be obtained from calling
+ * listBuildSourceUploadUrl API.
+ */
+ @JsonProperty(value = "sourceLocation")
+ private String sourceLocation;
+
+ /**
+ * The properties that describes a set of credentials that will be used
+ * when this run is invoked.
+ */
+ @JsonProperty(value = "credentials")
+ private Credentials credentials;
+
+ /**
+ * Get the fully qualified image names including the repository and tag.
+ *
+ * @return the imageNames value
+ */
+ public List imageNames() {
+ return this.imageNames;
+ }
+
+ /**
+ * Set the fully qualified image names including the repository and tag.
+ *
+ * @param imageNames the imageNames value to set
+ * @return the DockerBuildRequest object itself.
+ */
+ public DockerBuildRequest withImageNames(List imageNames) {
+ this.imageNames = imageNames;
+ return this;
+ }
+
+ /**
+ * Get the value of this property indicates whether the image built should be pushed to the registry or not.
+ *
+ * @return the isPushEnabled value
+ */
+ public Boolean isPushEnabled() {
+ return this.isPushEnabled;
+ }
+
+ /**
+ * Set the value of this property indicates whether the image built should be pushed to the registry or not.
+ *
+ * @param isPushEnabled the isPushEnabled value to set
+ * @return the DockerBuildRequest object itself.
+ */
+ public DockerBuildRequest withIsPushEnabled(Boolean isPushEnabled) {
+ this.isPushEnabled = isPushEnabled;
+ return this;
+ }
+
+ /**
+ * Get the value of this property indicates whether the image cache is enabled or not.
+ *
+ * @return the noCache value
+ */
+ public Boolean noCache() {
+ return this.noCache;
+ }
+
+ /**
+ * Set the value of this property indicates whether the image cache is enabled or not.
+ *
+ * @param noCache the noCache value to set
+ * @return the DockerBuildRequest object itself.
+ */
+ public DockerBuildRequest withNoCache(Boolean noCache) {
+ this.noCache = noCache;
+ return this;
+ }
+
+ /**
+ * Get the Docker file path relative to the source location.
+ *
+ * @return the dockerFilePath value
+ */
+ public String dockerFilePath() {
+ return this.dockerFilePath;
+ }
+
+ /**
+ * Set the Docker file path relative to the source location.
+ *
+ * @param dockerFilePath the dockerFilePath value to set
+ * @return the DockerBuildRequest object itself.
+ */
+ public DockerBuildRequest withDockerFilePath(String dockerFilePath) {
+ this.dockerFilePath = dockerFilePath;
+ return this;
+ }
+
+ /**
+ * Get the name of the target build stage for the docker build.
+ *
+ * @return the target value
+ */
+ public String target() {
+ return this.target;
+ }
+
+ /**
+ * Set the name of the target build stage for the docker build.
+ *
+ * @param target the target value to set
+ * @return the DockerBuildRequest object itself.
+ */
+ public DockerBuildRequest withTarget(String target) {
+ this.target = target;
+ return this;
+ }
+
+ /**
+ * Get the collection of override arguments to be used when executing the run.
+ *
+ * @return the arguments value
+ */
+ public List arguments() {
+ return this.arguments;
+ }
+
+ /**
+ * Set the collection of override arguments to be used when executing the run.
+ *
+ * @param arguments the arguments value to set
+ * @return the DockerBuildRequest object itself.
+ */
+ public DockerBuildRequest withArguments(List arguments) {
+ this.arguments = arguments;
+ return this;
+ }
+
+ /**
+ * Get run timeout in seconds.
+ *
+ * @return the timeout value
+ */
+ public Integer timeout() {
+ return this.timeout;
+ }
+
+ /**
+ * Set run timeout in seconds.
+ *
+ * @param timeout the timeout value to set
+ * @return the DockerBuildRequest object itself.
+ */
+ public DockerBuildRequest withTimeout(Integer timeout) {
+ this.timeout = timeout;
+ return this;
+ }
+
+ /**
+ * Get the platform properties against which the run has to happen.
+ *
+ * @return the platform value
+ */
+ public PlatformProperties platform() {
+ return this.platform;
+ }
+
+ /**
+ * Set the platform properties against which the run has to happen.
+ *
+ * @param platform the platform value to set
+ * @return the DockerBuildRequest object itself.
+ */
+ public DockerBuildRequest withPlatform(PlatformProperties platform) {
+ this.platform = platform;
+ return this;
+ }
+
+ /**
+ * Get the machine configuration of the run agent.
+ *
+ * @return the agentConfiguration value
+ */
+ public AgentProperties agentConfiguration() {
+ return this.agentConfiguration;
+ }
+
+ /**
+ * Set the machine configuration of the run agent.
+ *
+ * @param agentConfiguration the agentConfiguration value to set
+ * @return the DockerBuildRequest object itself.
+ */
+ public DockerBuildRequest withAgentConfiguration(AgentProperties agentConfiguration) {
+ this.agentConfiguration = agentConfiguration;
+ return this;
+ }
+
+ /**
+ * Get the URL(absolute or relative) of the source context. It can be an URL to a tar or git repository.
+ If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API.
+ *
+ * @return the sourceLocation value
+ */
+ public String sourceLocation() {
+ return this.sourceLocation;
+ }
+
+ /**
+ * Set the URL(absolute or relative) of the source context. It can be an URL to a tar or git repository.
+ If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API.
+ *
+ * @param sourceLocation the sourceLocation value to set
+ * @return the DockerBuildRequest object itself.
+ */
+ public DockerBuildRequest withSourceLocation(String sourceLocation) {
+ this.sourceLocation = sourceLocation;
+ return this;
+ }
+
+ /**
+ * Get the properties that describes a set of credentials that will be used when this run is invoked.
+ *
+ * @return the credentials value
+ */
+ public Credentials credentials() {
+ return this.credentials;
+ }
+
+ /**
+ * Set the properties that describes a set of credentials that will be used when this run is invoked.
+ *
+ * @param credentials the credentials value to set
+ * @return the DockerBuildRequest object itself.
+ */
+ public DockerBuildRequest withCredentials(Credentials credentials) {
+ this.credentials = credentials;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/DockerBuildStep.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/DockerBuildStep.java
new file mode 100644
index 000000000000..0f974218f0fd
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/DockerBuildStep.java
@@ -0,0 +1,181 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The Docker build step.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeName("Docker")
+public class DockerBuildStep extends TaskStepProperties {
+ /**
+ * The fully qualified image names including the repository and tag.
+ */
+ @JsonProperty(value = "imageNames")
+ private List imageNames;
+
+ /**
+ * The value of this property indicates whether the image built should be
+ * pushed to the registry or not.
+ */
+ @JsonProperty(value = "isPushEnabled")
+ private Boolean isPushEnabled;
+
+ /**
+ * The value of this property indicates whether the image cache is enabled
+ * or not.
+ */
+ @JsonProperty(value = "noCache")
+ private Boolean noCache;
+
+ /**
+ * The Docker file path relative to the source context.
+ */
+ @JsonProperty(value = "dockerFilePath", required = true)
+ private String dockerFilePath;
+
+ /**
+ * The name of the target build stage for the docker build.
+ */
+ @JsonProperty(value = "target")
+ private String target;
+
+ /**
+ * The collection of override arguments to be used when executing this
+ * build step.
+ */
+ @JsonProperty(value = "arguments")
+ private List arguments;
+
+ /**
+ * Get the fully qualified image names including the repository and tag.
+ *
+ * @return the imageNames value
+ */
+ public List imageNames() {
+ return this.imageNames;
+ }
+
+ /**
+ * Set the fully qualified image names including the repository and tag.
+ *
+ * @param imageNames the imageNames value to set
+ * @return the DockerBuildStep object itself.
+ */
+ public DockerBuildStep withImageNames(List imageNames) {
+ this.imageNames = imageNames;
+ return this;
+ }
+
+ /**
+ * Get the value of this property indicates whether the image built should be pushed to the registry or not.
+ *
+ * @return the isPushEnabled value
+ */
+ public Boolean isPushEnabled() {
+ return this.isPushEnabled;
+ }
+
+ /**
+ * Set the value of this property indicates whether the image built should be pushed to the registry or not.
+ *
+ * @param isPushEnabled the isPushEnabled value to set
+ * @return the DockerBuildStep object itself.
+ */
+ public DockerBuildStep withIsPushEnabled(Boolean isPushEnabled) {
+ this.isPushEnabled = isPushEnabled;
+ return this;
+ }
+
+ /**
+ * Get the value of this property indicates whether the image cache is enabled or not.
+ *
+ * @return the noCache value
+ */
+ public Boolean noCache() {
+ return this.noCache;
+ }
+
+ /**
+ * Set the value of this property indicates whether the image cache is enabled or not.
+ *
+ * @param noCache the noCache value to set
+ * @return the DockerBuildStep object itself.
+ */
+ public DockerBuildStep withNoCache(Boolean noCache) {
+ this.noCache = noCache;
+ return this;
+ }
+
+ /**
+ * Get the Docker file path relative to the source context.
+ *
+ * @return the dockerFilePath value
+ */
+ public String dockerFilePath() {
+ return this.dockerFilePath;
+ }
+
+ /**
+ * Set the Docker file path relative to the source context.
+ *
+ * @param dockerFilePath the dockerFilePath value to set
+ * @return the DockerBuildStep object itself.
+ */
+ public DockerBuildStep withDockerFilePath(String dockerFilePath) {
+ this.dockerFilePath = dockerFilePath;
+ return this;
+ }
+
+ /**
+ * Get the name of the target build stage for the docker build.
+ *
+ * @return the target value
+ */
+ public String target() {
+ return this.target;
+ }
+
+ /**
+ * Set the name of the target build stage for the docker build.
+ *
+ * @param target the target value to set
+ * @return the DockerBuildStep object itself.
+ */
+ public DockerBuildStep withTarget(String target) {
+ this.target = target;
+ return this;
+ }
+
+ /**
+ * Get the collection of override arguments to be used when executing this build step.
+ *
+ * @return the arguments value
+ */
+ public List arguments() {
+ return this.arguments;
+ }
+
+ /**
+ * Set the collection of override arguments to be used when executing this build step.
+ *
+ * @param arguments the arguments value to set
+ * @return the DockerBuildStep object itself.
+ */
+ public DockerBuildStep withArguments(List arguments) {
+ this.arguments = arguments;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/DockerBuildStepUpdateParameters.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/DockerBuildStepUpdateParameters.java
new file mode 100644
index 000000000000..c10def6386e6
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/DockerBuildStepUpdateParameters.java
@@ -0,0 +1,181 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The properties for updating a docker build step.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeName("Docker")
+public class DockerBuildStepUpdateParameters extends TaskStepUpdateParameters {
+ /**
+ * The fully qualified image names including the repository and tag.
+ */
+ @JsonProperty(value = "imageNames")
+ private List imageNames;
+
+ /**
+ * The value of this property indicates whether the image built should be
+ * pushed to the registry or not.
+ */
+ @JsonProperty(value = "isPushEnabled")
+ private Boolean isPushEnabled;
+
+ /**
+ * The value of this property indicates whether the image cache is enabled
+ * or not.
+ */
+ @JsonProperty(value = "noCache")
+ private Boolean noCache;
+
+ /**
+ * The Docker file path relative to the source context.
+ */
+ @JsonProperty(value = "dockerFilePath")
+ private String dockerFilePath;
+
+ /**
+ * The collection of override arguments to be used when executing this
+ * build step.
+ */
+ @JsonProperty(value = "arguments")
+ private List arguments;
+
+ /**
+ * The name of the target build stage for the docker build.
+ */
+ @JsonProperty(value = "target")
+ private String target;
+
+ /**
+ * Get the fully qualified image names including the repository and tag.
+ *
+ * @return the imageNames value
+ */
+ public List imageNames() {
+ return this.imageNames;
+ }
+
+ /**
+ * Set the fully qualified image names including the repository and tag.
+ *
+ * @param imageNames the imageNames value to set
+ * @return the DockerBuildStepUpdateParameters object itself.
+ */
+ public DockerBuildStepUpdateParameters withImageNames(List imageNames) {
+ this.imageNames = imageNames;
+ return this;
+ }
+
+ /**
+ * Get the value of this property indicates whether the image built should be pushed to the registry or not.
+ *
+ * @return the isPushEnabled value
+ */
+ public Boolean isPushEnabled() {
+ return this.isPushEnabled;
+ }
+
+ /**
+ * Set the value of this property indicates whether the image built should be pushed to the registry or not.
+ *
+ * @param isPushEnabled the isPushEnabled value to set
+ * @return the DockerBuildStepUpdateParameters object itself.
+ */
+ public DockerBuildStepUpdateParameters withIsPushEnabled(Boolean isPushEnabled) {
+ this.isPushEnabled = isPushEnabled;
+ return this;
+ }
+
+ /**
+ * Get the value of this property indicates whether the image cache is enabled or not.
+ *
+ * @return the noCache value
+ */
+ public Boolean noCache() {
+ return this.noCache;
+ }
+
+ /**
+ * Set the value of this property indicates whether the image cache is enabled or not.
+ *
+ * @param noCache the noCache value to set
+ * @return the DockerBuildStepUpdateParameters object itself.
+ */
+ public DockerBuildStepUpdateParameters withNoCache(Boolean noCache) {
+ this.noCache = noCache;
+ return this;
+ }
+
+ /**
+ * Get the Docker file path relative to the source context.
+ *
+ * @return the dockerFilePath value
+ */
+ public String dockerFilePath() {
+ return this.dockerFilePath;
+ }
+
+ /**
+ * Set the Docker file path relative to the source context.
+ *
+ * @param dockerFilePath the dockerFilePath value to set
+ * @return the DockerBuildStepUpdateParameters object itself.
+ */
+ public DockerBuildStepUpdateParameters withDockerFilePath(String dockerFilePath) {
+ this.dockerFilePath = dockerFilePath;
+ return this;
+ }
+
+ /**
+ * Get the collection of override arguments to be used when executing this build step.
+ *
+ * @return the arguments value
+ */
+ public List arguments() {
+ return this.arguments;
+ }
+
+ /**
+ * Set the collection of override arguments to be used when executing this build step.
+ *
+ * @param arguments the arguments value to set
+ * @return the DockerBuildStepUpdateParameters object itself.
+ */
+ public DockerBuildStepUpdateParameters withArguments(List arguments) {
+ this.arguments = arguments;
+ return this;
+ }
+
+ /**
+ * Get the name of the target build stage for the docker build.
+ *
+ * @return the target value
+ */
+ public String target() {
+ return this.target;
+ }
+
+ /**
+ * Set the name of the target build stage for the docker build.
+ *
+ * @param target the target value to set
+ * @return the DockerBuildStepUpdateParameters object itself.
+ */
+ public DockerBuildStepUpdateParameters withTarget(String target) {
+ this.target = target;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/EncodedTaskRunRequest.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/EncodedTaskRunRequest.java
new file mode 100644
index 000000000000..8b3d349be660
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/EncodedTaskRunRequest.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.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The parameters for a quick task run request.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeName("EncodedTaskRunRequest")
+public class EncodedTaskRunRequest extends RunRequest {
+ /**
+ * Base64 encoded value of the template/definition file content.
+ */
+ @JsonProperty(value = "encodedTaskContent", required = true)
+ private String encodedTaskContent;
+
+ /**
+ * Base64 encoded value of the parameters/values file content.
+ */
+ @JsonProperty(value = "encodedValuesContent")
+ private String encodedValuesContent;
+
+ /**
+ * The collection of overridable values that can be passed when running a
+ * task.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Run timeout in seconds.
+ */
+ @JsonProperty(value = "timeout")
+ private Integer timeout;
+
+ /**
+ * The platform properties against which the run has to happen.
+ */
+ @JsonProperty(value = "platform", required = true)
+ private PlatformProperties platform;
+
+ /**
+ * The machine configuration of the run agent.
+ */
+ @JsonProperty(value = "agentConfiguration")
+ private AgentProperties agentConfiguration;
+
+ /**
+ * The URL(absolute or relative) of the source context. It can be an URL to
+ * a tar or git repository.
+ * If it is relative URL, the relative path should be obtained from calling
+ * listBuildSourceUploadUrl API.
+ */
+ @JsonProperty(value = "sourceLocation")
+ private String sourceLocation;
+
+ /**
+ * The properties that describes a set of credentials that will be used
+ * when this run is invoked.
+ */
+ @JsonProperty(value = "credentials")
+ private Credentials credentials;
+
+ /**
+ * Get base64 encoded value of the template/definition file content.
+ *
+ * @return the encodedTaskContent value
+ */
+ public String encodedTaskContent() {
+ return this.encodedTaskContent;
+ }
+
+ /**
+ * Set base64 encoded value of the template/definition file content.
+ *
+ * @param encodedTaskContent the encodedTaskContent value to set
+ * @return the EncodedTaskRunRequest object itself.
+ */
+ public EncodedTaskRunRequest withEncodedTaskContent(String encodedTaskContent) {
+ this.encodedTaskContent = encodedTaskContent;
+ return this;
+ }
+
+ /**
+ * Get base64 encoded value of the parameters/values file content.
+ *
+ * @return the encodedValuesContent value
+ */
+ public String encodedValuesContent() {
+ return this.encodedValuesContent;
+ }
+
+ /**
+ * Set base64 encoded value of the parameters/values file content.
+ *
+ * @param encodedValuesContent the encodedValuesContent value to set
+ * @return the EncodedTaskRunRequest object itself.
+ */
+ public EncodedTaskRunRequest withEncodedValuesContent(String encodedValuesContent) {
+ this.encodedValuesContent = encodedValuesContent;
+ return this;
+ }
+
+ /**
+ * Get the collection of overridable values that can be passed when running a task.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the collection of overridable values that can be passed when running a task.
+ *
+ * @param values the values value to set
+ * @return the EncodedTaskRunRequest object itself.
+ */
+ public EncodedTaskRunRequest withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+ /**
+ * Get run timeout in seconds.
+ *
+ * @return the timeout value
+ */
+ public Integer timeout() {
+ return this.timeout;
+ }
+
+ /**
+ * Set run timeout in seconds.
+ *
+ * @param timeout the timeout value to set
+ * @return the EncodedTaskRunRequest object itself.
+ */
+ public EncodedTaskRunRequest withTimeout(Integer timeout) {
+ this.timeout = timeout;
+ return this;
+ }
+
+ /**
+ * Get the platform properties against which the run has to happen.
+ *
+ * @return the platform value
+ */
+ public PlatformProperties platform() {
+ return this.platform;
+ }
+
+ /**
+ * Set the platform properties against which the run has to happen.
+ *
+ * @param platform the platform value to set
+ * @return the EncodedTaskRunRequest object itself.
+ */
+ public EncodedTaskRunRequest withPlatform(PlatformProperties platform) {
+ this.platform = platform;
+ return this;
+ }
+
+ /**
+ * Get the machine configuration of the run agent.
+ *
+ * @return the agentConfiguration value
+ */
+ public AgentProperties agentConfiguration() {
+ return this.agentConfiguration;
+ }
+
+ /**
+ * Set the machine configuration of the run agent.
+ *
+ * @param agentConfiguration the agentConfiguration value to set
+ * @return the EncodedTaskRunRequest object itself.
+ */
+ public EncodedTaskRunRequest withAgentConfiguration(AgentProperties agentConfiguration) {
+ this.agentConfiguration = agentConfiguration;
+ return this;
+ }
+
+ /**
+ * Get the URL(absolute or relative) of the source context. It can be an URL to a tar or git repository.
+ If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API.
+ *
+ * @return the sourceLocation value
+ */
+ public String sourceLocation() {
+ return this.sourceLocation;
+ }
+
+ /**
+ * Set the URL(absolute or relative) of the source context. It can be an URL to a tar or git repository.
+ If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API.
+ *
+ * @param sourceLocation the sourceLocation value to set
+ * @return the EncodedTaskRunRequest object itself.
+ */
+ public EncodedTaskRunRequest withSourceLocation(String sourceLocation) {
+ this.sourceLocation = sourceLocation;
+ return this;
+ }
+
+ /**
+ * Get the properties that describes a set of credentials that will be used when this run is invoked.
+ *
+ * @return the credentials value
+ */
+ public Credentials credentials() {
+ return this.credentials;
+ }
+
+ /**
+ * Set the properties that describes a set of credentials that will be used when this run is invoked.
+ *
+ * @param credentials the credentials value to set
+ * @return the EncodedTaskRunRequest object itself.
+ */
+ public EncodedTaskRunRequest withCredentials(Credentials credentials) {
+ this.credentials = credentials;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/EncodedTaskStep.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/EncodedTaskStep.java
new file mode 100644
index 000000000000..ce55407fe280
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/EncodedTaskStep.java
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The properties of a encoded task step.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeName("EncodedTask")
+public class EncodedTaskStep extends TaskStepProperties {
+ /**
+ * Base64 encoded value of the template/definition file content.
+ */
+ @JsonProperty(value = "encodedTaskContent", required = true)
+ private String encodedTaskContent;
+
+ /**
+ * Base64 encoded value of the parameters/values file content.
+ */
+ @JsonProperty(value = "encodedValuesContent")
+ private String encodedValuesContent;
+
+ /**
+ * The collection of overridable values that can be passed when running a
+ * task.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Get base64 encoded value of the template/definition file content.
+ *
+ * @return the encodedTaskContent value
+ */
+ public String encodedTaskContent() {
+ return this.encodedTaskContent;
+ }
+
+ /**
+ * Set base64 encoded value of the template/definition file content.
+ *
+ * @param encodedTaskContent the encodedTaskContent value to set
+ * @return the EncodedTaskStep object itself.
+ */
+ public EncodedTaskStep withEncodedTaskContent(String encodedTaskContent) {
+ this.encodedTaskContent = encodedTaskContent;
+ return this;
+ }
+
+ /**
+ * Get base64 encoded value of the parameters/values file content.
+ *
+ * @return the encodedValuesContent value
+ */
+ public String encodedValuesContent() {
+ return this.encodedValuesContent;
+ }
+
+ /**
+ * Set base64 encoded value of the parameters/values file content.
+ *
+ * @param encodedValuesContent the encodedValuesContent value to set
+ * @return the EncodedTaskStep object itself.
+ */
+ public EncodedTaskStep withEncodedValuesContent(String encodedValuesContent) {
+ this.encodedValuesContent = encodedValuesContent;
+ return this;
+ }
+
+ /**
+ * Get the collection of overridable values that can be passed when running a task.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the collection of overridable values that can be passed when running a task.
+ *
+ * @param values the values value to set
+ * @return the EncodedTaskStep object itself.
+ */
+ public EncodedTaskStep withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/EncodedTaskStepUpdateParameters.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/EncodedTaskStepUpdateParameters.java
new file mode 100644
index 000000000000..771c96b38c40
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/EncodedTaskStepUpdateParameters.java
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The properties for updating encoded task step.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeName("EncodedTask")
+public class EncodedTaskStepUpdateParameters extends TaskStepUpdateParameters {
+ /**
+ * Base64 encoded value of the template/definition file content.
+ */
+ @JsonProperty(value = "encodedTaskContent")
+ private String encodedTaskContent;
+
+ /**
+ * Base64 encoded value of the parameters/values file content.
+ */
+ @JsonProperty(value = "encodedValuesContent")
+ private String encodedValuesContent;
+
+ /**
+ * The collection of overridable values that can be passed when running a
+ * task.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Get base64 encoded value of the template/definition file content.
+ *
+ * @return the encodedTaskContent value
+ */
+ public String encodedTaskContent() {
+ return this.encodedTaskContent;
+ }
+
+ /**
+ * Set base64 encoded value of the template/definition file content.
+ *
+ * @param encodedTaskContent the encodedTaskContent value to set
+ * @return the EncodedTaskStepUpdateParameters object itself.
+ */
+ public EncodedTaskStepUpdateParameters withEncodedTaskContent(String encodedTaskContent) {
+ this.encodedTaskContent = encodedTaskContent;
+ return this;
+ }
+
+ /**
+ * Get base64 encoded value of the parameters/values file content.
+ *
+ * @return the encodedValuesContent value
+ */
+ public String encodedValuesContent() {
+ return this.encodedValuesContent;
+ }
+
+ /**
+ * Set base64 encoded value of the parameters/values file content.
+ *
+ * @param encodedValuesContent the encodedValuesContent value to set
+ * @return the EncodedTaskStepUpdateParameters object itself.
+ */
+ public EncodedTaskStepUpdateParameters withEncodedValuesContent(String encodedValuesContent) {
+ this.encodedValuesContent = encodedValuesContent;
+ return this;
+ }
+
+ /**
+ * Get the collection of overridable values that can be passed when running a task.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the collection of overridable values that can be passed when running a task.
+ *
+ * @param values the values value to set
+ * @return the EncodedTaskStepUpdateParameters object itself.
+ */
+ public EncodedTaskStepUpdateParameters withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/FileTaskRunRequest.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/FileTaskRunRequest.java
new file mode 100644
index 000000000000..16855f139bf1
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/FileTaskRunRequest.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.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The request parameters for a scheduling run against a task file.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeName("FileTaskRunRequest")
+public class FileTaskRunRequest extends RunRequest {
+ /**
+ * The template/definition file path relative to the source.
+ */
+ @JsonProperty(value = "taskFilePath", required = true)
+ private String taskFilePath;
+
+ /**
+ * The values/parameters file path relative to the source.
+ */
+ @JsonProperty(value = "valuesFilePath")
+ private String valuesFilePath;
+
+ /**
+ * The collection of overridable values that can be passed when running a
+ * task.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Run timeout in seconds.
+ */
+ @JsonProperty(value = "timeout")
+ private Integer timeout;
+
+ /**
+ * The platform properties against which the run has to happen.
+ */
+ @JsonProperty(value = "platform", required = true)
+ private PlatformProperties platform;
+
+ /**
+ * The machine configuration of the run agent.
+ */
+ @JsonProperty(value = "agentConfiguration")
+ private AgentProperties agentConfiguration;
+
+ /**
+ * The URL(absolute or relative) of the source context. It can be an URL to
+ * a tar or git repository.
+ * If it is relative URL, the relative path should be obtained from calling
+ * listBuildSourceUploadUrl API.
+ */
+ @JsonProperty(value = "sourceLocation")
+ private String sourceLocation;
+
+ /**
+ * The properties that describes a set of credentials that will be used
+ * when this run is invoked.
+ */
+ @JsonProperty(value = "credentials")
+ private Credentials credentials;
+
+ /**
+ * Get the template/definition file path relative to the source.
+ *
+ * @return the taskFilePath value
+ */
+ public String taskFilePath() {
+ return this.taskFilePath;
+ }
+
+ /**
+ * Set the template/definition file path relative to the source.
+ *
+ * @param taskFilePath the taskFilePath value to set
+ * @return the FileTaskRunRequest object itself.
+ */
+ public FileTaskRunRequest withTaskFilePath(String taskFilePath) {
+ this.taskFilePath = taskFilePath;
+ return this;
+ }
+
+ /**
+ * Get the values/parameters file path relative to the source.
+ *
+ * @return the valuesFilePath value
+ */
+ public String valuesFilePath() {
+ return this.valuesFilePath;
+ }
+
+ /**
+ * Set the values/parameters file path relative to the source.
+ *
+ * @param valuesFilePath the valuesFilePath value to set
+ * @return the FileTaskRunRequest object itself.
+ */
+ public FileTaskRunRequest withValuesFilePath(String valuesFilePath) {
+ this.valuesFilePath = valuesFilePath;
+ return this;
+ }
+
+ /**
+ * Get the collection of overridable values that can be passed when running a task.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the collection of overridable values that can be passed when running a task.
+ *
+ * @param values the values value to set
+ * @return the FileTaskRunRequest object itself.
+ */
+ public FileTaskRunRequest withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+ /**
+ * Get run timeout in seconds.
+ *
+ * @return the timeout value
+ */
+ public Integer timeout() {
+ return this.timeout;
+ }
+
+ /**
+ * Set run timeout in seconds.
+ *
+ * @param timeout the timeout value to set
+ * @return the FileTaskRunRequest object itself.
+ */
+ public FileTaskRunRequest withTimeout(Integer timeout) {
+ this.timeout = timeout;
+ return this;
+ }
+
+ /**
+ * Get the platform properties against which the run has to happen.
+ *
+ * @return the platform value
+ */
+ public PlatformProperties platform() {
+ return this.platform;
+ }
+
+ /**
+ * Set the platform properties against which the run has to happen.
+ *
+ * @param platform the platform value to set
+ * @return the FileTaskRunRequest object itself.
+ */
+ public FileTaskRunRequest withPlatform(PlatformProperties platform) {
+ this.platform = platform;
+ return this;
+ }
+
+ /**
+ * Get the machine configuration of the run agent.
+ *
+ * @return the agentConfiguration value
+ */
+ public AgentProperties agentConfiguration() {
+ return this.agentConfiguration;
+ }
+
+ /**
+ * Set the machine configuration of the run agent.
+ *
+ * @param agentConfiguration the agentConfiguration value to set
+ * @return the FileTaskRunRequest object itself.
+ */
+ public FileTaskRunRequest withAgentConfiguration(AgentProperties agentConfiguration) {
+ this.agentConfiguration = agentConfiguration;
+ return this;
+ }
+
+ /**
+ * Get the URL(absolute or relative) of the source context. It can be an URL to a tar or git repository.
+ If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API.
+ *
+ * @return the sourceLocation value
+ */
+ public String sourceLocation() {
+ return this.sourceLocation;
+ }
+
+ /**
+ * Set the URL(absolute or relative) of the source context. It can be an URL to a tar or git repository.
+ If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API.
+ *
+ * @param sourceLocation the sourceLocation value to set
+ * @return the FileTaskRunRequest object itself.
+ */
+ public FileTaskRunRequest withSourceLocation(String sourceLocation) {
+ this.sourceLocation = sourceLocation;
+ return this;
+ }
+
+ /**
+ * Get the properties that describes a set of credentials that will be used when this run is invoked.
+ *
+ * @return the credentials value
+ */
+ public Credentials credentials() {
+ return this.credentials;
+ }
+
+ /**
+ * Set the properties that describes a set of credentials that will be used when this run is invoked.
+ *
+ * @param credentials the credentials value to set
+ * @return the FileTaskRunRequest object itself.
+ */
+ public FileTaskRunRequest withCredentials(Credentials credentials) {
+ this.credentials = credentials;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/FileTaskStep.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/FileTaskStep.java
new file mode 100644
index 000000000000..75f4a8744ccb
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/FileTaskStep.java
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The properties of a task step.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeName("FileTask")
+public class FileTaskStep extends TaskStepProperties {
+ /**
+ * The task template/definition file path relative to the source context.
+ */
+ @JsonProperty(value = "taskFilePath", required = true)
+ private String taskFilePath;
+
+ /**
+ * The task values/parameters file path relative to the source context.
+ */
+ @JsonProperty(value = "valuesFilePath")
+ private String valuesFilePath;
+
+ /**
+ * The collection of overridable values that can be passed when running a
+ * task.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Get the task template/definition file path relative to the source context.
+ *
+ * @return the taskFilePath value
+ */
+ public String taskFilePath() {
+ return this.taskFilePath;
+ }
+
+ /**
+ * Set the task template/definition file path relative to the source context.
+ *
+ * @param taskFilePath the taskFilePath value to set
+ * @return the FileTaskStep object itself.
+ */
+ public FileTaskStep withTaskFilePath(String taskFilePath) {
+ this.taskFilePath = taskFilePath;
+ return this;
+ }
+
+ /**
+ * Get the task values/parameters file path relative to the source context.
+ *
+ * @return the valuesFilePath value
+ */
+ public String valuesFilePath() {
+ return this.valuesFilePath;
+ }
+
+ /**
+ * Set the task values/parameters file path relative to the source context.
+ *
+ * @param valuesFilePath the valuesFilePath value to set
+ * @return the FileTaskStep object itself.
+ */
+ public FileTaskStep withValuesFilePath(String valuesFilePath) {
+ this.valuesFilePath = valuesFilePath;
+ return this;
+ }
+
+ /**
+ * Get the collection of overridable values that can be passed when running a task.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the collection of overridable values that can be passed when running a task.
+ *
+ * @param values the values value to set
+ * @return the FileTaskStep object itself.
+ */
+ public FileTaskStep withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/FileTaskStepUpdateParameters.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/FileTaskStepUpdateParameters.java
new file mode 100644
index 000000000000..3b86d4c25efb
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/FileTaskStepUpdateParameters.java
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The properties of updating a task step.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeName("FileTask")
+public class FileTaskStepUpdateParameters extends TaskStepUpdateParameters {
+ /**
+ * The task template/definition file path relative to the source context.
+ */
+ @JsonProperty(value = "taskFilePath")
+ private String taskFilePath;
+
+ /**
+ * The values/parameters file path relative to the source context.
+ */
+ @JsonProperty(value = "valuesFilePath")
+ private String valuesFilePath;
+
+ /**
+ * The collection of overridable values that can be passed when running a
+ * task.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Get the task template/definition file path relative to the source context.
+ *
+ * @return the taskFilePath value
+ */
+ public String taskFilePath() {
+ return this.taskFilePath;
+ }
+
+ /**
+ * Set the task template/definition file path relative to the source context.
+ *
+ * @param taskFilePath the taskFilePath value to set
+ * @return the FileTaskStepUpdateParameters object itself.
+ */
+ public FileTaskStepUpdateParameters withTaskFilePath(String taskFilePath) {
+ this.taskFilePath = taskFilePath;
+ return this;
+ }
+
+ /**
+ * Get the values/parameters file path relative to the source context.
+ *
+ * @return the valuesFilePath value
+ */
+ public String valuesFilePath() {
+ return this.valuesFilePath;
+ }
+
+ /**
+ * Set the values/parameters file path relative to the source context.
+ *
+ * @param valuesFilePath the valuesFilePath value to set
+ * @return the FileTaskStepUpdateParameters object itself.
+ */
+ public FileTaskStepUpdateParameters withValuesFilePath(String valuesFilePath) {
+ this.valuesFilePath = valuesFilePath;
+ return this;
+ }
+
+ /**
+ * Get the collection of overridable values that can be passed when running a task.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the collection of overridable values that can be passed when running a task.
+ *
+ * @param values the values value to set
+ * @return the FileTaskStepUpdateParameters object itself.
+ */
+ public FileTaskStepUpdateParameters withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/IdentityProperties.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/IdentityProperties.java
new file mode 100644
index 000000000000..272ae29dbe4a
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/IdentityProperties.java
@@ -0,0 +1,133 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Managed identity for the resource.
+ */
+public class IdentityProperties {
+ /**
+ * The principal ID of resource identity.
+ */
+ @JsonProperty(value = "principalId")
+ private String principalId;
+
+ /**
+ * The tenant ID of resource.
+ */
+ @JsonProperty(value = "tenantId")
+ private String tenantId;
+
+ /**
+ * The identity type. Possible values include: 'SystemAssigned',
+ * 'UserAssigned', 'SystemAssigned, UserAssigned', 'None'.
+ */
+ @JsonProperty(value = "type")
+ private ResourceIdentityType type;
+
+ /**
+ * The list of user identities associated with the resource. The user
+ * identity
+ * dictionary key references will be ARM resource ids in the form:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
+ * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
+ */
+ @JsonProperty(value = "userAssignedIdentities")
+ private Map userAssignedIdentities;
+
+ /**
+ * Get the principal ID of resource identity.
+ *
+ * @return the principalId value
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Set the principal ID of resource identity.
+ *
+ * @param principalId the principalId value to set
+ * @return the IdentityProperties object itself.
+ */
+ public IdentityProperties withPrincipalId(String principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ /**
+ * Get the tenant ID of resource.
+ *
+ * @return the tenantId value
+ */
+ public String tenantId() {
+ return this.tenantId;
+ }
+
+ /**
+ * Set the tenant ID of resource.
+ *
+ * @param tenantId the tenantId value to set
+ * @return the IdentityProperties object itself.
+ */
+ public IdentityProperties withTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ return this;
+ }
+
+ /**
+ * Get the identity type. Possible values include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None'.
+ *
+ * @return the type value
+ */
+ public ResourceIdentityType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the identity type. Possible values include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None'.
+ *
+ * @param type the type value to set
+ * @return the IdentityProperties object itself.
+ */
+ public IdentityProperties withType(ResourceIdentityType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the list of user identities associated with the resource. The user identity
+ dictionary key references will be ARM resource ids in the form:
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
+ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
+ *
+ * @return the userAssignedIdentities value
+ */
+ public Map userAssignedIdentities() {
+ return this.userAssignedIdentities;
+ }
+
+ /**
+ * Set the list of user identities associated with the resource. The user identity
+ dictionary key references will be ARM resource ids in the form:
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
+ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
+ *
+ * @param userAssignedIdentities the userAssignedIdentities value to set
+ * @return the IdentityProperties object itself.
+ */
+ public IdentityProperties withUserAssignedIdentities(Map userAssignedIdentities) {
+ this.userAssignedIdentities = userAssignedIdentities;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/ImageDescriptor.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/ImageDescriptor.java
new file mode 100644
index 000000000000..00a8f3b486b8
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/ImageDescriptor.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Properties for a registry image.
+ */
+public class ImageDescriptor {
+ /**
+ * The registry login server.
+ */
+ @JsonProperty(value = "registry")
+ private String registry;
+
+ /**
+ * The repository name.
+ */
+ @JsonProperty(value = "repository")
+ private String repository;
+
+ /**
+ * The tag name.
+ */
+ @JsonProperty(value = "tag")
+ private String tag;
+
+ /**
+ * The sha256-based digest of the image manifest.
+ */
+ @JsonProperty(value = "digest")
+ private String digest;
+
+ /**
+ * Get the registry login server.
+ *
+ * @return the registry value
+ */
+ public String registry() {
+ return this.registry;
+ }
+
+ /**
+ * Set the registry login server.
+ *
+ * @param registry the registry value to set
+ * @return the ImageDescriptor object itself.
+ */
+ public ImageDescriptor withRegistry(String registry) {
+ this.registry = registry;
+ return this;
+ }
+
+ /**
+ * Get the repository name.
+ *
+ * @return the repository value
+ */
+ public String repository() {
+ return this.repository;
+ }
+
+ /**
+ * Set the repository name.
+ *
+ * @param repository the repository value to set
+ * @return the ImageDescriptor object itself.
+ */
+ public ImageDescriptor withRepository(String repository) {
+ this.repository = repository;
+ return this;
+ }
+
+ /**
+ * Get the tag name.
+ *
+ * @return the tag value
+ */
+ public String tag() {
+ return this.tag;
+ }
+
+ /**
+ * Set the tag name.
+ *
+ * @param tag the tag value to set
+ * @return the ImageDescriptor object itself.
+ */
+ public ImageDescriptor withTag(String tag) {
+ this.tag = tag;
+ return this;
+ }
+
+ /**
+ * Get the sha256-based digest of the image manifest.
+ *
+ * @return the digest value
+ */
+ public String digest() {
+ return this.digest;
+ }
+
+ /**
+ * Set the sha256-based digest of the image manifest.
+ *
+ * @param digest the digest value to set
+ * @return the ImageDescriptor object itself.
+ */
+ public ImageDescriptor withDigest(String digest) {
+ this.digest = digest;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/ImageUpdateTrigger.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/ImageUpdateTrigger.java
new file mode 100644
index 000000000000..bc620ec0ddc2
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/ImageUpdateTrigger.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.containerregistry.v2019_06_01_preview;
+
+import org.joda.time.DateTime;
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The image update trigger that caused a build.
+ */
+public class ImageUpdateTrigger {
+ /**
+ * The unique ID of the trigger.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /**
+ * The timestamp when the image update happened.
+ */
+ @JsonProperty(value = "timestamp")
+ private DateTime timestamp;
+
+ /**
+ * The list of image updates that caused the build.
+ */
+ @JsonProperty(value = "images")
+ private List images;
+
+ /**
+ * Get the unique ID of the trigger.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the unique ID of the trigger.
+ *
+ * @param id the id value to set
+ * @return the ImageUpdateTrigger object itself.
+ */
+ public ImageUpdateTrigger withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the timestamp when the image update happened.
+ *
+ * @return the timestamp value
+ */
+ public DateTime timestamp() {
+ return this.timestamp;
+ }
+
+ /**
+ * Set the timestamp when the image update happened.
+ *
+ * @param timestamp the timestamp value to set
+ * @return the ImageUpdateTrigger object itself.
+ */
+ public ImageUpdateTrigger withTimestamp(DateTime timestamp) {
+ this.timestamp = timestamp;
+ return this;
+ }
+
+ /**
+ * Get the list of image updates that caused the build.
+ *
+ * @return the images value
+ */
+ public List images() {
+ return this.images;
+ }
+
+ /**
+ * Set the list of image updates that caused the build.
+ *
+ * @param images the images value to set
+ * @return the ImageUpdateTrigger object itself.
+ */
+ public ImageUpdateTrigger withImages(List images) {
+ this.images = images;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/OS.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/OS.java
new file mode 100644
index 000000000000..d002aa6e9ccf
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/OS.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for OS.
+ */
+public final class OS extends ExpandableStringEnum {
+ /** Static value Windows for OS. */
+ public static final OS WINDOWS = fromString("Windows");
+
+ /** Static value Linux for OS. */
+ public static final OS LINUX = fromString("Linux");
+
+ /**
+ * Creates or finds a OS from its string representation.
+ * @param name a name to look for
+ * @return the corresponding OS
+ */
+ @JsonCreator
+ public static OS fromString(String name) {
+ return fromString(name, OS.class);
+ }
+
+ /**
+ * @return known OS values
+ */
+ public static Collection values() {
+ return values(OS.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/OverrideTaskStepProperties.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/OverrideTaskStepProperties.java
new file mode 100644
index 000000000000..7c2108682972
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/OverrideTaskStepProperties.java
@@ -0,0 +1,179 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The OverrideTaskStepProperties model.
+ */
+public class OverrideTaskStepProperties {
+ /**
+ * The source context against which run has to be queued.
+ */
+ @JsonProperty(value = "contextPath")
+ private String contextPath;
+
+ /**
+ * The file against which run has to be queued.
+ */
+ @JsonProperty(value = "file")
+ private String file;
+
+ /**
+ * Gets or sets the collection of override arguments to be used when
+ * executing a build step.
+ */
+ @JsonProperty(value = "arguments")
+ private List arguments;
+
+ /**
+ * The name of the target build stage for the docker build.
+ */
+ @JsonProperty(value = "target")
+ private String target;
+
+ /**
+ * The collection of overridable values that can be passed when running a
+ * Task.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Base64 encoded update trigger token that will be attached with the base
+ * image trigger webhook.
+ */
+ @JsonProperty(value = "updateTriggerToken")
+ private String updateTriggerToken;
+
+ /**
+ * Get the source context against which run has to be queued.
+ *
+ * @return the contextPath value
+ */
+ public String contextPath() {
+ return this.contextPath;
+ }
+
+ /**
+ * Set the source context against which run has to be queued.
+ *
+ * @param contextPath the contextPath value to set
+ * @return the OverrideTaskStepProperties object itself.
+ */
+ public OverrideTaskStepProperties withContextPath(String contextPath) {
+ this.contextPath = contextPath;
+ return this;
+ }
+
+ /**
+ * Get the file against which run has to be queued.
+ *
+ * @return the file value
+ */
+ public String file() {
+ return this.file;
+ }
+
+ /**
+ * Set the file against which run has to be queued.
+ *
+ * @param file the file value to set
+ * @return the OverrideTaskStepProperties object itself.
+ */
+ public OverrideTaskStepProperties withFile(String file) {
+ this.file = file;
+ return this;
+ }
+
+ /**
+ * Get gets or sets the collection of override arguments to be used when
+ executing a build step.
+ *
+ * @return the arguments value
+ */
+ public List arguments() {
+ return this.arguments;
+ }
+
+ /**
+ * Set gets or sets the collection of override arguments to be used when
+ executing a build step.
+ *
+ * @param arguments the arguments value to set
+ * @return the OverrideTaskStepProperties object itself.
+ */
+ public OverrideTaskStepProperties withArguments(List arguments) {
+ this.arguments = arguments;
+ return this;
+ }
+
+ /**
+ * Get the name of the target build stage for the docker build.
+ *
+ * @return the target value
+ */
+ public String target() {
+ return this.target;
+ }
+
+ /**
+ * Set the name of the target build stage for the docker build.
+ *
+ * @param target the target value to set
+ * @return the OverrideTaskStepProperties object itself.
+ */
+ public OverrideTaskStepProperties withTarget(String target) {
+ this.target = target;
+ return this;
+ }
+
+ /**
+ * Get the collection of overridable values that can be passed when running a Task.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the collection of overridable values that can be passed when running a Task.
+ *
+ * @param values the values value to set
+ * @return the OverrideTaskStepProperties object itself.
+ */
+ public OverrideTaskStepProperties withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+ /**
+ * Get base64 encoded update trigger token that will be attached with the base image trigger webhook.
+ *
+ * @return the updateTriggerToken value
+ */
+ public String updateTriggerToken() {
+ return this.updateTriggerToken;
+ }
+
+ /**
+ * Set base64 encoded update trigger token that will be attached with the base image trigger webhook.
+ *
+ * @param updateTriggerToken the updateTriggerToken value to set
+ * @return the OverrideTaskStepProperties object itself.
+ */
+ public OverrideTaskStepProperties withUpdateTriggerToken(String updateTriggerToken) {
+ this.updateTriggerToken = updateTriggerToken;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/PlatformProperties.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/PlatformProperties.java
new file mode 100644
index 000000000000..2fe692966f3c
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/PlatformProperties.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The platform properties against which the run has to happen.
+ */
+public class PlatformProperties {
+ /**
+ * The operating system type required for the run. Possible values include:
+ * 'Windows', 'Linux'.
+ */
+ @JsonProperty(value = "os", required = true)
+ private OS os;
+
+ /**
+ * The OS architecture. Possible values include: 'amd64', 'x86', '386',
+ * 'arm', 'arm64'.
+ */
+ @JsonProperty(value = "architecture")
+ private Architecture architecture;
+
+ /**
+ * Variant of the CPU. Possible values include: 'v6', 'v7', 'v8'.
+ */
+ @JsonProperty(value = "variant")
+ private Variant variant;
+
+ /**
+ * Get the operating system type required for the run. Possible values include: 'Windows', 'Linux'.
+ *
+ * @return the os value
+ */
+ public OS os() {
+ return this.os;
+ }
+
+ /**
+ * Set the operating system type required for the run. Possible values include: 'Windows', 'Linux'.
+ *
+ * @param os the os value to set
+ * @return the PlatformProperties object itself.
+ */
+ public PlatformProperties withOs(OS os) {
+ this.os = os;
+ return this;
+ }
+
+ /**
+ * Get the OS architecture. Possible values include: 'amd64', 'x86', '386', 'arm', 'arm64'.
+ *
+ * @return the architecture value
+ */
+ public Architecture architecture() {
+ return this.architecture;
+ }
+
+ /**
+ * Set the OS architecture. Possible values include: 'amd64', 'x86', '386', 'arm', 'arm64'.
+ *
+ * @param architecture the architecture value to set
+ * @return the PlatformProperties object itself.
+ */
+ public PlatformProperties withArchitecture(Architecture architecture) {
+ this.architecture = architecture;
+ return this;
+ }
+
+ /**
+ * Get variant of the CPU. Possible values include: 'v6', 'v7', 'v8'.
+ *
+ * @return the variant value
+ */
+ public Variant variant() {
+ return this.variant;
+ }
+
+ /**
+ * Set variant of the CPU. Possible values include: 'v6', 'v7', 'v8'.
+ *
+ * @param variant the variant value to set
+ * @return the PlatformProperties object itself.
+ */
+ public PlatformProperties withVariant(Variant variant) {
+ this.variant = variant;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/PlatformUpdateParameters.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/PlatformUpdateParameters.java
new file mode 100644
index 000000000000..9477ae14bc44
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/PlatformUpdateParameters.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties for updating the platform configuration.
+ */
+public class PlatformUpdateParameters {
+ /**
+ * The operating system type required for the run. Possible values include:
+ * 'Windows', 'Linux'.
+ */
+ @JsonProperty(value = "os")
+ private OS os;
+
+ /**
+ * The OS architecture. Possible values include: 'amd64', 'x86', '386',
+ * 'arm', 'arm64'.
+ */
+ @JsonProperty(value = "architecture")
+ private Architecture architecture;
+
+ /**
+ * Variant of the CPU. Possible values include: 'v6', 'v7', 'v8'.
+ */
+ @JsonProperty(value = "variant")
+ private Variant variant;
+
+ /**
+ * Get the operating system type required for the run. Possible values include: 'Windows', 'Linux'.
+ *
+ * @return the os value
+ */
+ public OS os() {
+ return this.os;
+ }
+
+ /**
+ * Set the operating system type required for the run. Possible values include: 'Windows', 'Linux'.
+ *
+ * @param os the os value to set
+ * @return the PlatformUpdateParameters object itself.
+ */
+ public PlatformUpdateParameters withOs(OS os) {
+ this.os = os;
+ return this;
+ }
+
+ /**
+ * Get the OS architecture. Possible values include: 'amd64', 'x86', '386', 'arm', 'arm64'.
+ *
+ * @return the architecture value
+ */
+ public Architecture architecture() {
+ return this.architecture;
+ }
+
+ /**
+ * Set the OS architecture. Possible values include: 'amd64', 'x86', '386', 'arm', 'arm64'.
+ *
+ * @param architecture the architecture value to set
+ * @return the PlatformUpdateParameters object itself.
+ */
+ public PlatformUpdateParameters withArchitecture(Architecture architecture) {
+ this.architecture = architecture;
+ return this;
+ }
+
+ /**
+ * Get variant of the CPU. Possible values include: 'v6', 'v7', 'v8'.
+ *
+ * @return the variant value
+ */
+ public Variant variant() {
+ return this.variant;
+ }
+
+ /**
+ * Set variant of the CPU. Possible values include: 'v6', 'v7', 'v8'.
+ *
+ * @param variant the variant value to set
+ * @return the PlatformUpdateParameters object itself.
+ */
+ public PlatformUpdateParameters withVariant(Variant variant) {
+ this.variant = variant;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/ProvisioningState.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/ProvisioningState.java
new file mode 100644
index 000000000000..3ae0324ec17c
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/ProvisioningState.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.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ProvisioningState.
+ */
+public final class ProvisioningState extends ExpandableStringEnum {
+ /** Static value Creating for ProvisioningState. */
+ public static final ProvisioningState CREATING = fromString("Creating");
+
+ /** Static value Updating for ProvisioningState. */
+ public static final ProvisioningState UPDATING = fromString("Updating");
+
+ /** Static value Deleting for ProvisioningState. */
+ public static final ProvisioningState DELETING = fromString("Deleting");
+
+ /** Static value Succeeded for ProvisioningState. */
+ public static final ProvisioningState SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Failed for ProvisioningState. */
+ public static final ProvisioningState FAILED = fromString("Failed");
+
+ /** Static value Canceled for ProvisioningState. */
+ public static final ProvisioningState CANCELED = fromString("Canceled");
+
+ /**
+ * Creates or finds a ProvisioningState from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ProvisioningState
+ */
+ @JsonCreator
+ public static ProvisioningState fromString(String name) {
+ return fromString(name, ProvisioningState.class);
+ }
+
+ /**
+ * @return known ProvisioningState values
+ */
+ public static Collection values() {
+ return values(ProvisioningState.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Registries.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Registries.java
new file mode 100644
index 000000000000..075f2304843f
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Registries.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import rx.Observable;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation.RegistriesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Registries.
+ */
+public interface Registries extends HasInner {
+ /**
+ * Schedules a new run based on the request parameters and add it to the run queue.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runRequest The parameters of a run that needs to scheduled.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable scheduleRunAsync(String resourceGroupName, String registryName, RunRequest runRequest);
+
+ /**
+ * Get the upload location for the user to be able to upload the source.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getBuildSourceUploadUrlAsync(String resourceGroupName, String registryName);
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/ResourceIdentityType.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/ResourceIdentityType.java
new file mode 100644
index 000000000000..b14b53e26a81
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/ResourceIdentityType.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for ResourceIdentityType.
+ */
+public enum ResourceIdentityType {
+ /** Enum value SystemAssigned. */
+ SYSTEM_ASSIGNED("SystemAssigned"),
+
+ /** Enum value UserAssigned. */
+ USER_ASSIGNED("UserAssigned"),
+
+ /** Enum value SystemAssigned, UserAssigned. */
+ SYSTEM_ASSIGNED_USER_ASSIGNED("SystemAssigned, UserAssigned"),
+
+ /** Enum value None. */
+ NONE("None");
+
+ /** The actual serialized value for a ResourceIdentityType instance. */
+ private String value;
+
+ ResourceIdentityType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a ResourceIdentityType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed ResourceIdentityType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static ResourceIdentityType fromString(String value) {
+ ResourceIdentityType[] items = ResourceIdentityType.values();
+ for (ResourceIdentityType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Run.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Run.java
new file mode 100644
index 000000000000..45333905cee9
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Run.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.containerregistry.v2019_06_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation.RunInner;
+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.resources.models.HasManager;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation.ContainerRegistryManager;
+import org.joda.time.DateTime;
+import java.util.List;
+
+/**
+ * Type representing Run.
+ */
+public interface Run extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the agentConfiguration value.
+ */
+ AgentProperties agentConfiguration();
+
+ /**
+ * @return the createTime value.
+ */
+ DateTime createTime();
+
+ /**
+ * @return the customRegistries value.
+ */
+ List customRegistries();
+
+ /**
+ * @return the finishTime value.
+ */
+ DateTime finishTime();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the imageUpdateTrigger value.
+ */
+ ImageUpdateTrigger imageUpdateTrigger();
+
+ /**
+ * @return the isArchiveEnabled value.
+ */
+ Boolean isArchiveEnabled();
+
+ /**
+ * @return the lastUpdatedTime value.
+ */
+ DateTime lastUpdatedTime();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the outputImages value.
+ */
+ List outputImages();
+
+ /**
+ * @return the platform value.
+ */
+ PlatformProperties platform();
+
+ /**
+ * @return the provisioningState value.
+ */
+ ProvisioningState provisioningState();
+
+ /**
+ * @return the runErrorMessage value.
+ */
+ String runErrorMessage();
+
+ /**
+ * @return the runId value.
+ */
+ String runId();
+
+ /**
+ * @return the runType value.
+ */
+ RunType runType();
+
+ /**
+ * @return the sourceRegistryAuth value.
+ */
+ String sourceRegistryAuth();
+
+ /**
+ * @return the sourceTrigger value.
+ */
+ SourceTriggerDescriptor sourceTrigger();
+
+ /**
+ * @return the startTime value.
+ */
+ DateTime startTime();
+
+ /**
+ * @return the status value.
+ */
+ RunStatus status();
+
+ /**
+ * @return the task value.
+ */
+ String task();
+
+ /**
+ * @return the timerTrigger value.
+ */
+ TimerTriggerDescriptor timerTrigger();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * @return the updateTriggerToken value.
+ */
+ String updateTriggerToken();
+
+ /**
+ * The template for a Run update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithIsArchiveEnabled {
+ }
+
+ /**
+ * Grouping of Run update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the run update allowing to specify IsArchiveEnabled.
+ */
+ interface WithIsArchiveEnabled {
+ /**
+ * Specifies isArchiveEnabled.
+ * @param isArchiveEnabled The value that indicates whether archiving is enabled or not
+ * @return the next update stage
+ */
+ Update withIsArchiveEnabled(Boolean isArchiveEnabled);
+ }
+
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunFilter.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunFilter.java
new file mode 100644
index 000000000000..61b72c29388d
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunFilter.java
@@ -0,0 +1,233 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Properties that are enabled for Odata querying on runs.
+ */
+public class RunFilter {
+ /**
+ * The unique identifier for the run.
+ */
+ @JsonProperty(value = "runId")
+ private String runId;
+
+ /**
+ * The type of run. Possible values include: 'QuickBuild', 'QuickRun',
+ * 'AutoBuild', 'AutoRun'.
+ */
+ @JsonProperty(value = "runType")
+ private RunType runType;
+
+ /**
+ * The current status of the run. Possible values include: 'Queued',
+ * 'Started', 'Running', 'Succeeded', 'Failed', 'Canceled', 'Error',
+ * 'Timeout'.
+ */
+ @JsonProperty(value = "status")
+ private RunStatus status;
+
+ /**
+ * The create time for a run.
+ */
+ @JsonProperty(value = "createTime")
+ private DateTime createTime;
+
+ /**
+ * The time the run finished.
+ */
+ @JsonProperty(value = "finishTime")
+ private DateTime finishTime;
+
+ /**
+ * The list of comma-separated image manifests that were generated from the
+ * run. This is applicable if the run is of
+ * build type.
+ */
+ @JsonProperty(value = "outputImageManifests")
+ private String outputImageManifests;
+
+ /**
+ * The value that indicates whether archiving is enabled or not.
+ */
+ @JsonProperty(value = "isArchiveEnabled")
+ private Boolean isArchiveEnabled;
+
+ /**
+ * The name of the task that the run corresponds to.
+ */
+ @JsonProperty(value = "taskName")
+ private String taskName;
+
+ /**
+ * Get the unique identifier for the run.
+ *
+ * @return the runId value
+ */
+ public String runId() {
+ return this.runId;
+ }
+
+ /**
+ * Set the unique identifier for the run.
+ *
+ * @param runId the runId value to set
+ * @return the RunFilter object itself.
+ */
+ public RunFilter withRunId(String runId) {
+ this.runId = runId;
+ return this;
+ }
+
+ /**
+ * Get the type of run. Possible values include: 'QuickBuild', 'QuickRun', 'AutoBuild', 'AutoRun'.
+ *
+ * @return the runType value
+ */
+ public RunType runType() {
+ return this.runType;
+ }
+
+ /**
+ * Set the type of run. Possible values include: 'QuickBuild', 'QuickRun', 'AutoBuild', 'AutoRun'.
+ *
+ * @param runType the runType value to set
+ * @return the RunFilter object itself.
+ */
+ public RunFilter withRunType(RunType runType) {
+ this.runType = runType;
+ return this;
+ }
+
+ /**
+ * Get the current status of the run. Possible values include: 'Queued', 'Started', 'Running', 'Succeeded', 'Failed', 'Canceled', 'Error', 'Timeout'.
+ *
+ * @return the status value
+ */
+ public RunStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the current status of the run. Possible values include: 'Queued', 'Started', 'Running', 'Succeeded', 'Failed', 'Canceled', 'Error', 'Timeout'.
+ *
+ * @param status the status value to set
+ * @return the RunFilter object itself.
+ */
+ public RunFilter withStatus(RunStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the create time for a run.
+ *
+ * @return the createTime value
+ */
+ public DateTime createTime() {
+ return this.createTime;
+ }
+
+ /**
+ * Set the create time for a run.
+ *
+ * @param createTime the createTime value to set
+ * @return the RunFilter object itself.
+ */
+ public RunFilter withCreateTime(DateTime createTime) {
+ this.createTime = createTime;
+ return this;
+ }
+
+ /**
+ * Get the time the run finished.
+ *
+ * @return the finishTime value
+ */
+ public DateTime finishTime() {
+ return this.finishTime;
+ }
+
+ /**
+ * Set the time the run finished.
+ *
+ * @param finishTime the finishTime value to set
+ * @return the RunFilter object itself.
+ */
+ public RunFilter withFinishTime(DateTime finishTime) {
+ this.finishTime = finishTime;
+ return this;
+ }
+
+ /**
+ * Get the list of comma-separated image manifests that were generated from the run. This is applicable if the run is of
+ build type.
+ *
+ * @return the outputImageManifests value
+ */
+ public String outputImageManifests() {
+ return this.outputImageManifests;
+ }
+
+ /**
+ * Set the list of comma-separated image manifests that were generated from the run. This is applicable if the run is of
+ build type.
+ *
+ * @param outputImageManifests the outputImageManifests value to set
+ * @return the RunFilter object itself.
+ */
+ public RunFilter withOutputImageManifests(String outputImageManifests) {
+ this.outputImageManifests = outputImageManifests;
+ return this;
+ }
+
+ /**
+ * Get the value that indicates whether archiving is enabled or not.
+ *
+ * @return the isArchiveEnabled value
+ */
+ public Boolean isArchiveEnabled() {
+ return this.isArchiveEnabled;
+ }
+
+ /**
+ * Set the value that indicates whether archiving is enabled or not.
+ *
+ * @param isArchiveEnabled the isArchiveEnabled value to set
+ * @return the RunFilter object itself.
+ */
+ public RunFilter withIsArchiveEnabled(Boolean isArchiveEnabled) {
+ this.isArchiveEnabled = isArchiveEnabled;
+ return this;
+ }
+
+ /**
+ * Get the name of the task that the run corresponds to.
+ *
+ * @return the taskName value
+ */
+ public String taskName() {
+ return this.taskName;
+ }
+
+ /**
+ * Set the name of the task that the run corresponds to.
+ *
+ * @param taskName the taskName value to set
+ * @return the RunFilter object itself.
+ */
+ public RunFilter withTaskName(String taskName) {
+ this.taskName = taskName;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunGetLogResult.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunGetLogResult.java
new file mode 100644
index 000000000000..77765b57d4f3
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunGetLogResult.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.containerregistry.v2019_06_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation.ContainerRegistryManager;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation.RunGetLogResultInner;
+
+/**
+ * Type representing RunGetLogResult.
+ */
+public interface RunGetLogResult extends HasInner, HasManager {
+ /**
+ * @return the logLink value.
+ */
+ String logLink();
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunRequest.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunRequest.java
new file mode 100644
index 000000000000..d9efbd055415
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunRequest.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.containerregistry.v2019_06_01_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 request parameters for scheduling a run.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeName("RunRequest")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "DockerBuildRequest", value = DockerBuildRequest.class),
+ @JsonSubTypes.Type(name = "FileTaskRunRequest", value = FileTaskRunRequest.class),
+ @JsonSubTypes.Type(name = "TaskRunRequest", value = TaskRunRequest.class),
+ @JsonSubTypes.Type(name = "EncodedTaskRunRequest", value = EncodedTaskRunRequest.class)
+})
+public class RunRequest {
+ /**
+ * The value that indicates whether archiving is enabled for the run or
+ * not.
+ */
+ @JsonProperty(value = "isArchiveEnabled")
+ private Boolean isArchiveEnabled;
+
+ /**
+ * Get the value that indicates whether archiving is enabled for the run or not.
+ *
+ * @return the isArchiveEnabled value
+ */
+ public Boolean isArchiveEnabled() {
+ return this.isArchiveEnabled;
+ }
+
+ /**
+ * Set the value that indicates whether archiving is enabled for the run or not.
+ *
+ * @param isArchiveEnabled the isArchiveEnabled value to set
+ * @return the RunRequest object itself.
+ */
+ public RunRequest withIsArchiveEnabled(Boolean isArchiveEnabled) {
+ this.isArchiveEnabled = isArchiveEnabled;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunStatus.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunStatus.java
new file mode 100644
index 000000000000..3a214f0ba2fb
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunStatus.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.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for RunStatus.
+ */
+public final class RunStatus extends ExpandableStringEnum {
+ /** Static value Queued for RunStatus. */
+ public static final RunStatus QUEUED = fromString("Queued");
+
+ /** Static value Started for RunStatus. */
+ public static final RunStatus STARTED = fromString("Started");
+
+ /** Static value Running for RunStatus. */
+ public static final RunStatus RUNNING = fromString("Running");
+
+ /** Static value Succeeded for RunStatus. */
+ public static final RunStatus SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Failed for RunStatus. */
+ public static final RunStatus FAILED = fromString("Failed");
+
+ /** Static value Canceled for RunStatus. */
+ public static final RunStatus CANCELED = fromString("Canceled");
+
+ /** Static value Error for RunStatus. */
+ public static final RunStatus ERROR = fromString("Error");
+
+ /** Static value Timeout for RunStatus. */
+ public static final RunStatus TIMEOUT = fromString("Timeout");
+
+ /**
+ * Creates or finds a RunStatus from its string representation.
+ * @param name a name to look for
+ * @return the corresponding RunStatus
+ */
+ @JsonCreator
+ public static RunStatus fromString(String name) {
+ return fromString(name, RunStatus.class);
+ }
+
+ /**
+ * @return known RunStatus values
+ */
+ public static Collection values() {
+ return values(RunStatus.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunType.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunType.java
new file mode 100644
index 000000000000..9b607011c0a2
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunType.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.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for RunType.
+ */
+public final class RunType extends ExpandableStringEnum {
+ /** Static value QuickBuild for RunType. */
+ public static final RunType QUICK_BUILD = fromString("QuickBuild");
+
+ /** Static value QuickRun for RunType. */
+ public static final RunType QUICK_RUN = fromString("QuickRun");
+
+ /** Static value AutoBuild for RunType. */
+ public static final RunType AUTO_BUILD = fromString("AutoBuild");
+
+ /** Static value AutoRun for RunType. */
+ public static final RunType AUTO_RUN = fromString("AutoRun");
+
+ /**
+ * Creates or finds a RunType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding RunType
+ */
+ @JsonCreator
+ public static RunType fromString(String name) {
+ return fromString(name, RunType.class);
+ }
+
+ /**
+ * @return known RunType values
+ */
+ public static Collection values() {
+ return values(RunType.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunUpdateParameters.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunUpdateParameters.java
new file mode 100644
index 000000000000..6e4b15d3cdbd
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/RunUpdateParameters.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The set of run properties that can be updated.
+ */
+public class RunUpdateParameters {
+ /**
+ * The value that indicates whether archiving is enabled or not.
+ */
+ @JsonProperty(value = "isArchiveEnabled")
+ private Boolean isArchiveEnabled;
+
+ /**
+ * Get the value that indicates whether archiving is enabled or not.
+ *
+ * @return the isArchiveEnabled value
+ */
+ public Boolean isArchiveEnabled() {
+ return this.isArchiveEnabled;
+ }
+
+ /**
+ * Set the value that indicates whether archiving is enabled or not.
+ *
+ * @param isArchiveEnabled the isArchiveEnabled value to set
+ * @return the RunUpdateParameters object itself.
+ */
+ public RunUpdateParameters withIsArchiveEnabled(Boolean isArchiveEnabled) {
+ this.isArchiveEnabled = isArchiveEnabled;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Runs.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Runs.java
new file mode 100644
index 000000000000..a88fb10725a7
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Runs.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import rx.Observable;
+import rx.Completable;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation.RunsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Runs.
+ */
+public interface Runs extends HasInner {
+ /**
+ * Gets a link to download the run logs.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getLogSasUrlAsync(String resourceGroupName, String registryName, String runId);
+
+ /**
+ * Cancel an existing run.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable cancelAsync(String resourceGroupName, String registryName, String runId);
+
+ /**
+ * Gets the detailed information for a given run.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runId The run ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String registryName, String runId);
+
+ /**
+ * Gets all the runs for a registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String registryName);
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SecretObject.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SecretObject.java
new file mode 100644
index 000000000000..3d31e5a50b9e
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SecretObject.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Describes the properties of a secret object value.
+ */
+public class SecretObject {
+ /**
+ * The value of the secret. The format of this value will be determined
+ * based on the type of the secret object. If the type is Opaque, the value
+ * will be
+ * used as is without any modification.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /**
+ * The type of the secret object which determines how the value of the
+ * secret object has to be
+ * interpreted. Possible values include: 'Opaque', 'Vaultsecret'.
+ */
+ @JsonProperty(value = "type")
+ private SecretObjectType type;
+
+ /**
+ * Get the value of the secret. The format of this value will be determined
+ based on the type of the secret object. If the type is Opaque, the value will be
+ used as is without any modification.
+ *
+ * @return the value value
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value of the secret. The format of this value will be determined
+ based on the type of the secret object. If the type is Opaque, the value will be
+ used as is without any modification.
+ *
+ * @param value the value value to set
+ * @return the SecretObject object itself.
+ */
+ public SecretObject withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the type of the secret object which determines how the value of the secret object has to be
+ interpreted. Possible values include: 'Opaque', 'Vaultsecret'.
+ *
+ * @return the type value
+ */
+ public SecretObjectType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type of the secret object which determines how the value of the secret object has to be
+ interpreted. Possible values include: 'Opaque', 'Vaultsecret'.
+ *
+ * @param type the type value to set
+ * @return the SecretObject object itself.
+ */
+ public SecretObject withType(SecretObjectType type) {
+ this.type = type;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SecretObjectType.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SecretObjectType.java
new file mode 100644
index 000000000000..2a18ac12a726
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SecretObjectType.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for SecretObjectType.
+ */
+public final class SecretObjectType extends ExpandableStringEnum {
+ /** Static value Opaque for SecretObjectType. */
+ public static final SecretObjectType OPAQUE = fromString("Opaque");
+
+ /** Static value Vaultsecret for SecretObjectType. */
+ public static final SecretObjectType VAULTSECRET = fromString("Vaultsecret");
+
+ /**
+ * Creates or finds a SecretObjectType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding SecretObjectType
+ */
+ @JsonCreator
+ public static SecretObjectType fromString(String name) {
+ return fromString(name, SecretObjectType.class);
+ }
+
+ /**
+ * @return known SecretObjectType values
+ */
+ public static Collection values() {
+ return values(SecretObjectType.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SetValue.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SetValue.java
new file mode 100644
index 000000000000..e03b0f400000
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SetValue.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties of a overridable value that can be passed to a task template.
+ */
+public class SetValue {
+ /**
+ * The name of the overridable value.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * The overridable value.
+ */
+ @JsonProperty(value = "value", required = true)
+ private String value;
+
+ /**
+ * Flag to indicate whether the value represents a secret or not.
+ */
+ @JsonProperty(value = "isSecret")
+ private Boolean isSecret;
+
+ /**
+ * Get the name of the overridable value.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the overridable value.
+ *
+ * @param name the name value to set
+ * @return the SetValue object itself.
+ */
+ public SetValue withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the overridable value.
+ *
+ * @return the value value
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the overridable value.
+ *
+ * @param value the value value to set
+ * @return the SetValue object itself.
+ */
+ public SetValue withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get flag to indicate whether the value represents a secret or not.
+ *
+ * @return the isSecret value
+ */
+ public Boolean isSecret() {
+ return this.isSecret;
+ }
+
+ /**
+ * Set flag to indicate whether the value represents a secret or not.
+ *
+ * @param isSecret the isSecret value to set
+ * @return the SetValue object itself.
+ */
+ public SetValue withIsSecret(Boolean isSecret) {
+ this.isSecret = isSecret;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceControlType.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceControlType.java
new file mode 100644
index 000000000000..e87051620f6b
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceControlType.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for SourceControlType.
+ */
+public final class SourceControlType extends ExpandableStringEnum {
+ /** Static value Github for SourceControlType. */
+ public static final SourceControlType GITHUB = fromString("Github");
+
+ /** Static value VisualStudioTeamService for SourceControlType. */
+ public static final SourceControlType VISUAL_STUDIO_TEAM_SERVICE = fromString("VisualStudioTeamService");
+
+ /**
+ * Creates or finds a SourceControlType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding SourceControlType
+ */
+ @JsonCreator
+ public static SourceControlType fromString(String name) {
+ return fromString(name, SourceControlType.class);
+ }
+
+ /**
+ * @return known SourceControlType values
+ */
+ public static Collection values() {
+ return values(SourceControlType.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceProperties.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceProperties.java
new file mode 100644
index 000000000000..26c8c1a78b99
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceProperties.java
@@ -0,0 +1,126 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties of the source code repository.
+ */
+public class SourceProperties {
+ /**
+ * The type of source control service. Possible values include: 'Github',
+ * 'VisualStudioTeamService'.
+ */
+ @JsonProperty(value = "sourceControlType", required = true)
+ private SourceControlType sourceControlType;
+
+ /**
+ * The full URL to the source code repository.
+ */
+ @JsonProperty(value = "repositoryUrl", required = true)
+ private String repositoryUrl;
+
+ /**
+ * The branch name of the source code.
+ */
+ @JsonProperty(value = "branch")
+ private String branch;
+
+ /**
+ * The authorization properties for accessing the source code repository
+ * and to set up
+ * webhooks for notifications.
+ */
+ @JsonProperty(value = "sourceControlAuthProperties")
+ private AuthInfo sourceControlAuthProperties;
+
+ /**
+ * Get the type of source control service. Possible values include: 'Github', 'VisualStudioTeamService'.
+ *
+ * @return the sourceControlType value
+ */
+ public SourceControlType sourceControlType() {
+ return this.sourceControlType;
+ }
+
+ /**
+ * Set the type of source control service. Possible values include: 'Github', 'VisualStudioTeamService'.
+ *
+ * @param sourceControlType the sourceControlType value to set
+ * @return the SourceProperties object itself.
+ */
+ public SourceProperties withSourceControlType(SourceControlType sourceControlType) {
+ this.sourceControlType = sourceControlType;
+ return this;
+ }
+
+ /**
+ * Get the full URL to the source code repository.
+ *
+ * @return the repositoryUrl value
+ */
+ public String repositoryUrl() {
+ return this.repositoryUrl;
+ }
+
+ /**
+ * Set the full URL to the source code repository.
+ *
+ * @param repositoryUrl the repositoryUrl value to set
+ * @return the SourceProperties object itself.
+ */
+ public SourceProperties withRepositoryUrl(String repositoryUrl) {
+ this.repositoryUrl = repositoryUrl;
+ return this;
+ }
+
+ /**
+ * Get the branch name of the source code.
+ *
+ * @return the branch value
+ */
+ public String branch() {
+ return this.branch;
+ }
+
+ /**
+ * Set the branch name of the source code.
+ *
+ * @param branch the branch value to set
+ * @return the SourceProperties object itself.
+ */
+ public SourceProperties withBranch(String branch) {
+ this.branch = branch;
+ return this;
+ }
+
+ /**
+ * Get the authorization properties for accessing the source code repository and to set up
+ webhooks for notifications.
+ *
+ * @return the sourceControlAuthProperties value
+ */
+ public AuthInfo sourceControlAuthProperties() {
+ return this.sourceControlAuthProperties;
+ }
+
+ /**
+ * Set the authorization properties for accessing the source code repository and to set up
+ webhooks for notifications.
+ *
+ * @param sourceControlAuthProperties the sourceControlAuthProperties value to set
+ * @return the SourceProperties object itself.
+ */
+ public SourceProperties withSourceControlAuthProperties(AuthInfo sourceControlAuthProperties) {
+ this.sourceControlAuthProperties = sourceControlAuthProperties;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceRegistryCredentials.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceRegistryCredentials.java
new file mode 100644
index 000000000000..1d97095523a7
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceRegistryCredentials.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Describes the credential parameters for accessing the source registry.
+ */
+public class SourceRegistryCredentials {
+ /**
+ * The authentication mode which determines the source registry login
+ * scope. The credentials for the source registry
+ * will be generated using the given scope. These credentials will be used
+ * to login to
+ * the source registry during the run. Possible values include: 'None',
+ * 'Default'.
+ */
+ @JsonProperty(value = "loginMode")
+ private SourceRegistryLoginMode loginMode;
+
+ /**
+ * Get the authentication mode which determines the source registry login scope. The credentials for the source registry
+ will be generated using the given scope. These credentials will be used to login to
+ the source registry during the run. Possible values include: 'None', 'Default'.
+ *
+ * @return the loginMode value
+ */
+ public SourceRegistryLoginMode loginMode() {
+ return this.loginMode;
+ }
+
+ /**
+ * Set the authentication mode which determines the source registry login scope. The credentials for the source registry
+ will be generated using the given scope. These credentials will be used to login to
+ the source registry during the run. Possible values include: 'None', 'Default'.
+ *
+ * @param loginMode the loginMode value to set
+ * @return the SourceRegistryCredentials object itself.
+ */
+ public SourceRegistryCredentials withLoginMode(SourceRegistryLoginMode loginMode) {
+ this.loginMode = loginMode;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceRegistryLoginMode.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceRegistryLoginMode.java
new file mode 100644
index 000000000000..18e85124c174
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceRegistryLoginMode.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for SourceRegistryLoginMode.
+ */
+public final class SourceRegistryLoginMode extends ExpandableStringEnum {
+ /** Static value None for SourceRegistryLoginMode. */
+ public static final SourceRegistryLoginMode NONE = fromString("None");
+
+ /** Static value Default for SourceRegistryLoginMode. */
+ public static final SourceRegistryLoginMode DEFAULT = fromString("Default");
+
+ /**
+ * Creates or finds a SourceRegistryLoginMode from its string representation.
+ * @param name a name to look for
+ * @return the corresponding SourceRegistryLoginMode
+ */
+ @JsonCreator
+ public static SourceRegistryLoginMode fromString(String name) {
+ return fromString(name, SourceRegistryLoginMode.class);
+ }
+
+ /**
+ * @return known SourceRegistryLoginMode values
+ */
+ public static Collection values() {
+ return values(SourceRegistryLoginMode.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceTrigger.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceTrigger.java
new file mode 100644
index 000000000000..faa457ed22a5
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceTrigger.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.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties of a source based trigger.
+ */
+public class SourceTrigger {
+ /**
+ * The properties that describes the source(code) for the task.
+ */
+ @JsonProperty(value = "sourceRepository", required = true)
+ private SourceProperties sourceRepository;
+
+ /**
+ * The source event corresponding to the trigger.
+ */
+ @JsonProperty(value = "sourceTriggerEvents", required = true)
+ private List sourceTriggerEvents;
+
+ /**
+ * The current status of trigger. Possible values include: 'Disabled',
+ * 'Enabled'.
+ */
+ @JsonProperty(value = "status")
+ private TriggerStatus status;
+
+ /**
+ * The name of the trigger.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Get the properties that describes the source(code) for the task.
+ *
+ * @return the sourceRepository value
+ */
+ public SourceProperties sourceRepository() {
+ return this.sourceRepository;
+ }
+
+ /**
+ * Set the properties that describes the source(code) for the task.
+ *
+ * @param sourceRepository the sourceRepository value to set
+ * @return the SourceTrigger object itself.
+ */
+ public SourceTrigger withSourceRepository(SourceProperties sourceRepository) {
+ this.sourceRepository = sourceRepository;
+ return this;
+ }
+
+ /**
+ * Get the source event corresponding to the trigger.
+ *
+ * @return the sourceTriggerEvents value
+ */
+ public List sourceTriggerEvents() {
+ return this.sourceTriggerEvents;
+ }
+
+ /**
+ * Set the source event corresponding to the trigger.
+ *
+ * @param sourceTriggerEvents the sourceTriggerEvents value to set
+ * @return the SourceTrigger object itself.
+ */
+ public SourceTrigger withSourceTriggerEvents(List sourceTriggerEvents) {
+ this.sourceTriggerEvents = sourceTriggerEvents;
+ return this;
+ }
+
+ /**
+ * Get the current status of trigger. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @return the status value
+ */
+ public TriggerStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the current status of trigger. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @param status the status value to set
+ * @return the SourceTrigger object itself.
+ */
+ public SourceTrigger withStatus(TriggerStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the name of the trigger.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the trigger.
+ *
+ * @param name the name value to set
+ * @return the SourceTrigger object itself.
+ */
+ public SourceTrigger withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceTriggerDescriptor.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceTriggerDescriptor.java
new file mode 100644
index 000000000000..d09590b2bfd1
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceTriggerDescriptor.java
@@ -0,0 +1,199 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The source trigger that caused a run.
+ */
+public class SourceTriggerDescriptor {
+ /**
+ * The unique ID of the trigger.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /**
+ * The event type of the trigger.
+ */
+ @JsonProperty(value = "eventType")
+ private String eventType;
+
+ /**
+ * The unique ID that identifies a commit.
+ */
+ @JsonProperty(value = "commitId")
+ private String commitId;
+
+ /**
+ * The unique ID that identifies pull request.
+ */
+ @JsonProperty(value = "pullRequestId")
+ private String pullRequestId;
+
+ /**
+ * The repository URL.
+ */
+ @JsonProperty(value = "repositoryUrl")
+ private String repositoryUrl;
+
+ /**
+ * The branch name in the repository.
+ */
+ @JsonProperty(value = "branchName")
+ private String branchName;
+
+ /**
+ * The source control provider type.
+ */
+ @JsonProperty(value = "providerType")
+ private String providerType;
+
+ /**
+ * Get the unique ID of the trigger.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the unique ID of the trigger.
+ *
+ * @param id the id value to set
+ * @return the SourceTriggerDescriptor object itself.
+ */
+ public SourceTriggerDescriptor withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the event type of the trigger.
+ *
+ * @return the eventType value
+ */
+ public String eventType() {
+ return this.eventType;
+ }
+
+ /**
+ * Set the event type of the trigger.
+ *
+ * @param eventType the eventType value to set
+ * @return the SourceTriggerDescriptor object itself.
+ */
+ public SourceTriggerDescriptor withEventType(String eventType) {
+ this.eventType = eventType;
+ return this;
+ }
+
+ /**
+ * Get the unique ID that identifies a commit.
+ *
+ * @return the commitId value
+ */
+ public String commitId() {
+ return this.commitId;
+ }
+
+ /**
+ * Set the unique ID that identifies a commit.
+ *
+ * @param commitId the commitId value to set
+ * @return the SourceTriggerDescriptor object itself.
+ */
+ public SourceTriggerDescriptor withCommitId(String commitId) {
+ this.commitId = commitId;
+ return this;
+ }
+
+ /**
+ * Get the unique ID that identifies pull request.
+ *
+ * @return the pullRequestId value
+ */
+ public String pullRequestId() {
+ return this.pullRequestId;
+ }
+
+ /**
+ * Set the unique ID that identifies pull request.
+ *
+ * @param pullRequestId the pullRequestId value to set
+ * @return the SourceTriggerDescriptor object itself.
+ */
+ public SourceTriggerDescriptor withPullRequestId(String pullRequestId) {
+ this.pullRequestId = pullRequestId;
+ return this;
+ }
+
+ /**
+ * Get the repository URL.
+ *
+ * @return the repositoryUrl value
+ */
+ public String repositoryUrl() {
+ return this.repositoryUrl;
+ }
+
+ /**
+ * Set the repository URL.
+ *
+ * @param repositoryUrl the repositoryUrl value to set
+ * @return the SourceTriggerDescriptor object itself.
+ */
+ public SourceTriggerDescriptor withRepositoryUrl(String repositoryUrl) {
+ this.repositoryUrl = repositoryUrl;
+ return this;
+ }
+
+ /**
+ * Get the branch name in the repository.
+ *
+ * @return the branchName value
+ */
+ public String branchName() {
+ return this.branchName;
+ }
+
+ /**
+ * Set the branch name in the repository.
+ *
+ * @param branchName the branchName value to set
+ * @return the SourceTriggerDescriptor object itself.
+ */
+ public SourceTriggerDescriptor withBranchName(String branchName) {
+ this.branchName = branchName;
+ return this;
+ }
+
+ /**
+ * Get the source control provider type.
+ *
+ * @return the providerType value
+ */
+ public String providerType() {
+ return this.providerType;
+ }
+
+ /**
+ * Set the source control provider type.
+ *
+ * @param providerType the providerType value to set
+ * @return the SourceTriggerDescriptor object itself.
+ */
+ public SourceTriggerDescriptor withProviderType(String providerType) {
+ this.providerType = providerType;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceTriggerEvent.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceTriggerEvent.java
new file mode 100644
index 000000000000..24fcf9c3b594
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceTriggerEvent.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for SourceTriggerEvent.
+ */
+public final class SourceTriggerEvent extends ExpandableStringEnum {
+ /** Static value commit for SourceTriggerEvent. */
+ public static final SourceTriggerEvent COMMIT = fromString("commit");
+
+ /** Static value pullrequest for SourceTriggerEvent. */
+ public static final SourceTriggerEvent PULLREQUEST = fromString("pullrequest");
+
+ /**
+ * Creates or finds a SourceTriggerEvent from its string representation.
+ * @param name a name to look for
+ * @return the corresponding SourceTriggerEvent
+ */
+ @JsonCreator
+ public static SourceTriggerEvent fromString(String name) {
+ return fromString(name, SourceTriggerEvent.class);
+ }
+
+ /**
+ * @return known SourceTriggerEvent values
+ */
+ public static Collection values() {
+ return values(SourceTriggerEvent.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceTriggerUpdateParameters.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceTriggerUpdateParameters.java
new file mode 100644
index 000000000000..815c93fc944c
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceTriggerUpdateParameters.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.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties for updating a source based trigger.
+ */
+public class SourceTriggerUpdateParameters {
+ /**
+ * The properties that describes the source(code) for the task.
+ */
+ @JsonProperty(value = "sourceRepository")
+ private SourceUpdateParameters sourceRepository;
+
+ /**
+ * The source event corresponding to the trigger.
+ */
+ @JsonProperty(value = "sourceTriggerEvents")
+ private List sourceTriggerEvents;
+
+ /**
+ * The current status of trigger. Possible values include: 'Disabled',
+ * 'Enabled'.
+ */
+ @JsonProperty(value = "status")
+ private TriggerStatus status;
+
+ /**
+ * The name of the trigger.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Get the properties that describes the source(code) for the task.
+ *
+ * @return the sourceRepository value
+ */
+ public SourceUpdateParameters sourceRepository() {
+ return this.sourceRepository;
+ }
+
+ /**
+ * Set the properties that describes the source(code) for the task.
+ *
+ * @param sourceRepository the sourceRepository value to set
+ * @return the SourceTriggerUpdateParameters object itself.
+ */
+ public SourceTriggerUpdateParameters withSourceRepository(SourceUpdateParameters sourceRepository) {
+ this.sourceRepository = sourceRepository;
+ return this;
+ }
+
+ /**
+ * Get the source event corresponding to the trigger.
+ *
+ * @return the sourceTriggerEvents value
+ */
+ public List sourceTriggerEvents() {
+ return this.sourceTriggerEvents;
+ }
+
+ /**
+ * Set the source event corresponding to the trigger.
+ *
+ * @param sourceTriggerEvents the sourceTriggerEvents value to set
+ * @return the SourceTriggerUpdateParameters object itself.
+ */
+ public SourceTriggerUpdateParameters withSourceTriggerEvents(List sourceTriggerEvents) {
+ this.sourceTriggerEvents = sourceTriggerEvents;
+ return this;
+ }
+
+ /**
+ * Get the current status of trigger. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @return the status value
+ */
+ public TriggerStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the current status of trigger. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @param status the status value to set
+ * @return the SourceTriggerUpdateParameters object itself.
+ */
+ public SourceTriggerUpdateParameters withStatus(TriggerStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the name of the trigger.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the trigger.
+ *
+ * @param name the name value to set
+ * @return the SourceTriggerUpdateParameters object itself.
+ */
+ public SourceTriggerUpdateParameters withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceUpdateParameters.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceUpdateParameters.java
new file mode 100644
index 000000000000..0df68b678871
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceUpdateParameters.java
@@ -0,0 +1,126 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties for updating the source code repository.
+ */
+public class SourceUpdateParameters {
+ /**
+ * The type of source control service. Possible values include: 'Github',
+ * 'VisualStudioTeamService'.
+ */
+ @JsonProperty(value = "sourceControlType")
+ private SourceControlType sourceControlType;
+
+ /**
+ * The full URL to the source code repository.
+ */
+ @JsonProperty(value = "repositoryUrl")
+ private String repositoryUrl;
+
+ /**
+ * The branch name of the source code.
+ */
+ @JsonProperty(value = "branch")
+ private String branch;
+
+ /**
+ * The authorization properties for accessing the source code repository
+ * and to set up
+ * webhooks for notifications.
+ */
+ @JsonProperty(value = "sourceControlAuthProperties")
+ private AuthInfoUpdateParameters sourceControlAuthProperties;
+
+ /**
+ * Get the type of source control service. Possible values include: 'Github', 'VisualStudioTeamService'.
+ *
+ * @return the sourceControlType value
+ */
+ public SourceControlType sourceControlType() {
+ return this.sourceControlType;
+ }
+
+ /**
+ * Set the type of source control service. Possible values include: 'Github', 'VisualStudioTeamService'.
+ *
+ * @param sourceControlType the sourceControlType value to set
+ * @return the SourceUpdateParameters object itself.
+ */
+ public SourceUpdateParameters withSourceControlType(SourceControlType sourceControlType) {
+ this.sourceControlType = sourceControlType;
+ return this;
+ }
+
+ /**
+ * Get the full URL to the source code repository.
+ *
+ * @return the repositoryUrl value
+ */
+ public String repositoryUrl() {
+ return this.repositoryUrl;
+ }
+
+ /**
+ * Set the full URL to the source code repository.
+ *
+ * @param repositoryUrl the repositoryUrl value to set
+ * @return the SourceUpdateParameters object itself.
+ */
+ public SourceUpdateParameters withRepositoryUrl(String repositoryUrl) {
+ this.repositoryUrl = repositoryUrl;
+ return this;
+ }
+
+ /**
+ * Get the branch name of the source code.
+ *
+ * @return the branch value
+ */
+ public String branch() {
+ return this.branch;
+ }
+
+ /**
+ * Set the branch name of the source code.
+ *
+ * @param branch the branch value to set
+ * @return the SourceUpdateParameters object itself.
+ */
+ public SourceUpdateParameters withBranch(String branch) {
+ this.branch = branch;
+ return this;
+ }
+
+ /**
+ * Get the authorization properties for accessing the source code repository and to set up
+ webhooks for notifications.
+ *
+ * @return the sourceControlAuthProperties value
+ */
+ public AuthInfoUpdateParameters sourceControlAuthProperties() {
+ return this.sourceControlAuthProperties;
+ }
+
+ /**
+ * Set the authorization properties for accessing the source code repository and to set up
+ webhooks for notifications.
+ *
+ * @param sourceControlAuthProperties the sourceControlAuthProperties value to set
+ * @return the SourceUpdateParameters object itself.
+ */
+ public SourceUpdateParameters withSourceControlAuthProperties(AuthInfoUpdateParameters sourceControlAuthProperties) {
+ this.sourceControlAuthProperties = sourceControlAuthProperties;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceUploadDefinition.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceUploadDefinition.java
new file mode 100644
index 000000000000..1219198b6a74
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/SourceUploadDefinition.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.containerregistry.v2019_06_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation.ContainerRegistryManager;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation.SourceUploadDefinitionInner;
+
+/**
+ * Type representing SourceUploadDefinition.
+ */
+public interface SourceUploadDefinition extends HasInner, HasManager {
+ /**
+ * @return the relativePath value.
+ */
+ String relativePath();
+
+ /**
+ * @return the uploadUrl value.
+ */
+ String uploadUrl();
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Task.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Task.java
new file mode 100644
index 000000000000..3f46bdec6bbe
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Task.java
@@ -0,0 +1,378 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation.TaskInner;
+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.containerregistry.v2019_06_01_preview.implementation.ContainerRegistryManager;
+import java.util.Map;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing Task.
+ */
+public interface Task extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the agentConfiguration value.
+ */
+ AgentProperties agentConfiguration();
+
+ /**
+ * @return the creationDate value.
+ */
+ DateTime creationDate();
+
+ /**
+ * @return the credentials value.
+ */
+ Credentials credentials();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the identity value.
+ */
+ IdentityProperties identity();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the platform value.
+ */
+ PlatformProperties platform();
+
+ /**
+ * @return the provisioningState value.
+ */
+ ProvisioningState provisioningState();
+
+ /**
+ * @return the status value.
+ */
+ TaskStatus status();
+
+ /**
+ * @return the step value.
+ */
+ TaskStepProperties step();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the timeout value.
+ */
+ Integer timeout();
+
+ /**
+ * @return the trigger value.
+ */
+ TriggerProperties trigger();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the Task definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithRegistry, DefinitionStages.WithLocation, DefinitionStages.WithPlatform, DefinitionStages.WithStep, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of Task definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a Task definition.
+ */
+ interface Blank extends WithRegistry {
+ }
+
+ /**
+ * The stage of the task definition allowing to specify Registry.
+ */
+ interface WithRegistry {
+ /**
+ * Specifies resourceGroupName, registryName.
+ * @param resourceGroupName The name of the resource group to which the container registry belongs
+ * @param registryName The name of the container registry
+ * @return the next definition stage
+ */
+ WithLocation withExistingRegistry(String resourceGroupName, String registryName);
+ }
+
+ /**
+ * The stage of the task definition allowing to specify Location.
+ */
+ interface WithLocation {
+ /**
+ * Specifies location.
+ * @param location The location of the resource. This cannot be changed after the resource is created
+ * @return the next definition stage
+ */
+ WithPlatform withLocation(String location);
+ }
+
+ /**
+ * The stage of the task definition allowing to specify Platform.
+ */
+ interface WithPlatform {
+ /**
+ * Specifies platform.
+ * @param platform The platform properties against which the run has to happen
+ * @return the next definition stage
+ */
+ WithStep withPlatform(PlatformProperties platform);
+ }
+
+ /**
+ * The stage of the task definition allowing to specify Step.
+ */
+ interface WithStep {
+ /**
+ * Specifies step.
+ * @param step The properties of a task step
+ * @return the next definition stage
+ */
+ WithCreate withStep(TaskStepProperties step);
+ }
+
+ /**
+ * The stage of the task definition allowing to specify AgentConfiguration.
+ */
+ interface WithAgentConfiguration {
+ /**
+ * Specifies agentConfiguration.
+ * @param agentConfiguration The machine configuration of the run agent
+ * @return the next definition stage
+ */
+ WithCreate withAgentConfiguration(AgentProperties agentConfiguration);
+ }
+
+ /**
+ * The stage of the task definition allowing to specify Credentials.
+ */
+ interface WithCredentials {
+ /**
+ * Specifies credentials.
+ * @param credentials The properties that describes a set of credentials that will be used when this run is invoked
+ * @return the next definition stage
+ */
+ WithCreate withCredentials(Credentials credentials);
+ }
+
+ /**
+ * The stage of the task definition allowing to specify Identity.
+ */
+ interface WithIdentity {
+ /**
+ * Specifies identity.
+ * @param identity Identity for the resource
+ * @return the next definition stage
+ */
+ WithCreate withIdentity(IdentityProperties identity);
+ }
+
+ /**
+ * The stage of the task definition allowing to specify Status.
+ */
+ interface WithStatus {
+ /**
+ * Specifies status.
+ * @param status The current status of task. Possible values include: 'Disabled', 'Enabled'
+ * @return the next definition stage
+ */
+ WithCreate withStatus(TaskStatus status);
+ }
+
+ /**
+ * The stage of the task definition allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ * @param tags The tags of the resource
+ * @return the next definition stage
+ */
+ WithCreate withTags(Map tags);
+ }
+
+ /**
+ * The stage of the task definition allowing to specify Timeout.
+ */
+ interface WithTimeout {
+ /**
+ * Specifies timeout.
+ * @param timeout Run timeout in seconds
+ * @return the next definition stage
+ */
+ WithCreate withTimeout(Integer timeout);
+ }
+
+ /**
+ * The stage of the task definition allowing to specify Trigger.
+ */
+ interface WithTrigger {
+ /**
+ * Specifies trigger.
+ * @param trigger The properties that describe all triggers for the task
+ * @return the next definition stage
+ */
+ WithCreate withTrigger(TriggerProperties trigger);
+ }
+
+ /**
+ * 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.WithAgentConfiguration, DefinitionStages.WithCredentials, DefinitionStages.WithIdentity, DefinitionStages.WithStatus, DefinitionStages.WithTags, DefinitionStages.WithTimeout, DefinitionStages.WithTrigger {
+ }
+ }
+ /**
+ * The template for a Task update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithAgentConfiguration, UpdateStages.WithCredentials, UpdateStages.WithIdentity, UpdateStages.WithPlatform, UpdateStages.WithStatus, UpdateStages.WithStep, UpdateStages.WithTags, UpdateStages.WithTimeout, UpdateStages.WithTrigger {
+ }
+
+ /**
+ * Grouping of Task update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the task update allowing to specify AgentConfiguration.
+ */
+ interface WithAgentConfiguration {
+ /**
+ * Specifies agentConfiguration.
+ * @param agentConfiguration The machine configuration of the run agent
+ * @return the next update stage
+ */
+ Update withAgentConfiguration(AgentProperties agentConfiguration);
+ }
+
+ /**
+ * The stage of the task update allowing to specify Credentials.
+ */
+ interface WithCredentials {
+ /**
+ * Specifies credentials.
+ * @param credentials The parameters that describes a set of credentials that will be used when this run is invoked
+ * @return the next update stage
+ */
+ Update withCredentials(Credentials credentials);
+ }
+
+ /**
+ * The stage of the task update allowing to specify Identity.
+ */
+ interface WithIdentity {
+ /**
+ * Specifies identity.
+ * @param identity Identity for the resource
+ * @return the next update stage
+ */
+ Update withIdentity(IdentityProperties identity);
+ }
+
+ /**
+ * The stage of the task update allowing to specify Platform.
+ */
+ interface WithPlatform {
+ /**
+ * Specifies platform.
+ * @param platform The platform properties against which the run has to happen
+ * @return the next update stage
+ */
+ Update withPlatform(PlatformUpdateParameters platform);
+ }
+
+ /**
+ * The stage of the task update allowing to specify Status.
+ */
+ interface WithStatus {
+ /**
+ * Specifies status.
+ * @param status The current status of task. Possible values include: 'Disabled', 'Enabled'
+ * @return the next update stage
+ */
+ Update withStatus(TaskStatus status);
+ }
+
+ /**
+ * The stage of the task update allowing to specify Step.
+ */
+ interface WithStep {
+ /**
+ * Specifies step.
+ * @param step The properties for updating a task step
+ * @return the next update stage
+ */
+ Update withStep(TaskStepUpdateParameters step);
+ }
+
+ /**
+ * The stage of the task update allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ * @param tags The ARM resource tags
+ * @return the next update stage
+ */
+ Update withTags(Map tags);
+ }
+
+ /**
+ * The stage of the task update allowing to specify Timeout.
+ */
+ interface WithTimeout {
+ /**
+ * Specifies timeout.
+ * @param timeout Run timeout in seconds
+ * @return the next update stage
+ */
+ Update withTimeout(Integer timeout);
+ }
+
+ /**
+ * The stage of the task update allowing to specify Trigger.
+ */
+ interface WithTrigger {
+ /**
+ * Specifies trigger.
+ * @param trigger The properties for updating trigger properties
+ * @return the next update stage
+ */
+ Update withTrigger(TriggerUpdateParameters trigger);
+ }
+
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskRunRequest.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskRunRequest.java
new file mode 100644
index 000000000000..b735a000f83b
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskRunRequest.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The parameters for a task run request.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeName("TaskRunRequest")
+public class TaskRunRequest extends RunRequest {
+ /**
+ * The resource ID of task against which run has to be queued.
+ */
+ @JsonProperty(value = "taskId", required = true)
+ private String taskId;
+
+ /**
+ * Set of overridable parameters that can be passed when running a Task.
+ */
+ @JsonProperty(value = "overrideTaskStepProperties")
+ private OverrideTaskStepProperties overrideTaskStepProperties;
+
+ /**
+ * Get the resource ID of task against which run has to be queued.
+ *
+ * @return the taskId value
+ */
+ public String taskId() {
+ return this.taskId;
+ }
+
+ /**
+ * Set the resource ID of task against which run has to be queued.
+ *
+ * @param taskId the taskId value to set
+ * @return the TaskRunRequest object itself.
+ */
+ public TaskRunRequest withTaskId(String taskId) {
+ this.taskId = taskId;
+ return this;
+ }
+
+ /**
+ * Get set of overridable parameters that can be passed when running a Task.
+ *
+ * @return the overrideTaskStepProperties value
+ */
+ public OverrideTaskStepProperties overrideTaskStepProperties() {
+ return this.overrideTaskStepProperties;
+ }
+
+ /**
+ * Set set of overridable parameters that can be passed when running a Task.
+ *
+ * @param overrideTaskStepProperties the overrideTaskStepProperties value to set
+ * @return the TaskRunRequest object itself.
+ */
+ public TaskRunRequest withOverrideTaskStepProperties(OverrideTaskStepProperties overrideTaskStepProperties) {
+ this.overrideTaskStepProperties = overrideTaskStepProperties;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskStatus.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskStatus.java
new file mode 100644
index 000000000000..e82acd0a1522
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskStatus.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for TaskStatus.
+ */
+public final class TaskStatus extends ExpandableStringEnum {
+ /** Static value Disabled for TaskStatus. */
+ public static final TaskStatus DISABLED = fromString("Disabled");
+
+ /** Static value Enabled for TaskStatus. */
+ public static final TaskStatus ENABLED = fromString("Enabled");
+
+ /**
+ * Creates or finds a TaskStatus from its string representation.
+ * @param name a name to look for
+ * @return the corresponding TaskStatus
+ */
+ @JsonCreator
+ public static TaskStatus fromString(String name) {
+ return fromString(name, TaskStatus.class);
+ }
+
+ /**
+ * @return known TaskStatus values
+ */
+ public static Collection values() {
+ return values(TaskStatus.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskStepProperties.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskStepProperties.java
new file mode 100644
index 000000000000..bbc3fd09a887
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskStepProperties.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.containerregistry.v2019_06_01_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;
+
+/**
+ * Base properties for any task step.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeName("TaskStepProperties")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "Docker", value = DockerBuildStep.class),
+ @JsonSubTypes.Type(name = "FileTask", value = FileTaskStep.class),
+ @JsonSubTypes.Type(name = "EncodedTask", value = EncodedTaskStep.class)
+})
+public class TaskStepProperties {
+ /**
+ * List of base image dependencies for a step.
+ */
+ @JsonProperty(value = "baseImageDependencies", access = JsonProperty.Access.WRITE_ONLY)
+ private List baseImageDependencies;
+
+ /**
+ * The URL(absolute or relative) of the source context for the task step.
+ */
+ @JsonProperty(value = "contextPath")
+ private String contextPath;
+
+ /**
+ * The token (git PAT or SAS token of storage account blob) associated with
+ * the context for a step.
+ */
+ @JsonProperty(value = "contextAccessToken")
+ private String contextAccessToken;
+
+ /**
+ * Get list of base image dependencies for a step.
+ *
+ * @return the baseImageDependencies value
+ */
+ public List baseImageDependencies() {
+ return this.baseImageDependencies;
+ }
+
+ /**
+ * Get the URL(absolute or relative) of the source context for the task step.
+ *
+ * @return the contextPath value
+ */
+ public String contextPath() {
+ return this.contextPath;
+ }
+
+ /**
+ * Set the URL(absolute or relative) of the source context for the task step.
+ *
+ * @param contextPath the contextPath value to set
+ * @return the TaskStepProperties object itself.
+ */
+ public TaskStepProperties withContextPath(String contextPath) {
+ this.contextPath = contextPath;
+ return this;
+ }
+
+ /**
+ * Get the token (git PAT or SAS token of storage account blob) associated with the context for a step.
+ *
+ * @return the contextAccessToken value
+ */
+ public String contextAccessToken() {
+ return this.contextAccessToken;
+ }
+
+ /**
+ * Set the token (git PAT or SAS token of storage account blob) associated with the context for a step.
+ *
+ * @param contextAccessToken the contextAccessToken value to set
+ * @return the TaskStepProperties object itself.
+ */
+ public TaskStepProperties withContextAccessToken(String contextAccessToken) {
+ this.contextAccessToken = contextAccessToken;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskStepUpdateParameters.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskStepUpdateParameters.java
new file mode 100644
index 000000000000..64cf2dc8d8f3
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskStepUpdateParameters.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.containerregistry.v2019_06_01_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 properties for updating any task step.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeName("TaskStepUpdateParameters")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "Docker", value = DockerBuildStepUpdateParameters.class),
+ @JsonSubTypes.Type(name = "FileTask", value = FileTaskStepUpdateParameters.class),
+ @JsonSubTypes.Type(name = "EncodedTask", value = EncodedTaskStepUpdateParameters.class)
+})
+public class TaskStepUpdateParameters {
+ /**
+ * The URL(absolute or relative) of the source context for the task step.
+ */
+ @JsonProperty(value = "contextPath")
+ private String contextPath;
+
+ /**
+ * The token (git PAT or SAS token of storage account blob) associated with
+ * the context for a step.
+ */
+ @JsonProperty(value = "contextAccessToken")
+ private String contextAccessToken;
+
+ /**
+ * Get the URL(absolute or relative) of the source context for the task step.
+ *
+ * @return the contextPath value
+ */
+ public String contextPath() {
+ return this.contextPath;
+ }
+
+ /**
+ * Set the URL(absolute or relative) of the source context for the task step.
+ *
+ * @param contextPath the contextPath value to set
+ * @return the TaskStepUpdateParameters object itself.
+ */
+ public TaskStepUpdateParameters withContextPath(String contextPath) {
+ this.contextPath = contextPath;
+ return this;
+ }
+
+ /**
+ * Get the token (git PAT or SAS token of storage account blob) associated with the context for a step.
+ *
+ * @return the contextAccessToken value
+ */
+ public String contextAccessToken() {
+ return this.contextAccessToken;
+ }
+
+ /**
+ * Set the token (git PAT or SAS token of storage account blob) associated with the context for a step.
+ *
+ * @param contextAccessToken the contextAccessToken value to set
+ * @return the TaskStepUpdateParameters object itself.
+ */
+ public TaskStepUpdateParameters withContextAccessToken(String contextAccessToken) {
+ this.contextAccessToken = contextAccessToken;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskUpdateParameters.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskUpdateParameters.java
new file mode 100644
index 000000000000..adfdebb5903e
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TaskUpdateParameters.java
@@ -0,0 +1,256 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * The parameters for updating a task.
+ */
+@JsonFlatten
+public class TaskUpdateParameters {
+ /**
+ * Identity for the resource.
+ */
+ @JsonProperty(value = "identity")
+ private IdentityProperties identity;
+
+ /**
+ * The current status of task. Possible values include: 'Disabled',
+ * 'Enabled'.
+ */
+ @JsonProperty(value = "properties.status")
+ private TaskStatus status;
+
+ /**
+ * The platform properties against which the run has to happen.
+ */
+ @JsonProperty(value = "properties.platform")
+ private PlatformUpdateParameters platform;
+
+ /**
+ * The machine configuration of the run agent.
+ */
+ @JsonProperty(value = "properties.agentConfiguration")
+ private AgentProperties agentConfiguration;
+
+ /**
+ * Run timeout in seconds.
+ */
+ @JsonProperty(value = "properties.timeout")
+ private Integer timeout;
+
+ /**
+ * The properties for updating a task step.
+ */
+ @JsonProperty(value = "properties.step")
+ private TaskStepUpdateParameters step;
+
+ /**
+ * The properties for updating trigger properties.
+ */
+ @JsonProperty(value = "properties.trigger")
+ private TriggerUpdateParameters trigger;
+
+ /**
+ * The parameters that describes a set of credentials that will be used
+ * when this run is invoked.
+ */
+ @JsonProperty(value = "properties.credentials")
+ private Credentials credentials;
+
+ /**
+ * The ARM resource tags.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * Get identity for the resource.
+ *
+ * @return the identity value
+ */
+ public IdentityProperties identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set identity for the resource.
+ *
+ * @param identity the identity value to set
+ * @return the TaskUpdateParameters object itself.
+ */
+ public TaskUpdateParameters withIdentity(IdentityProperties identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the current status of task. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @return the status value
+ */
+ public TaskStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the current status of task. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @param status the status value to set
+ * @return the TaskUpdateParameters object itself.
+ */
+ public TaskUpdateParameters withStatus(TaskStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the platform properties against which the run has to happen.
+ *
+ * @return the platform value
+ */
+ public PlatformUpdateParameters platform() {
+ return this.platform;
+ }
+
+ /**
+ * Set the platform properties against which the run has to happen.
+ *
+ * @param platform the platform value to set
+ * @return the TaskUpdateParameters object itself.
+ */
+ public TaskUpdateParameters withPlatform(PlatformUpdateParameters platform) {
+ this.platform = platform;
+ return this;
+ }
+
+ /**
+ * Get the machine configuration of the run agent.
+ *
+ * @return the agentConfiguration value
+ */
+ public AgentProperties agentConfiguration() {
+ return this.agentConfiguration;
+ }
+
+ /**
+ * Set the machine configuration of the run agent.
+ *
+ * @param agentConfiguration the agentConfiguration value to set
+ * @return the TaskUpdateParameters object itself.
+ */
+ public TaskUpdateParameters withAgentConfiguration(AgentProperties agentConfiguration) {
+ this.agentConfiguration = agentConfiguration;
+ return this;
+ }
+
+ /**
+ * Get run timeout in seconds.
+ *
+ * @return the timeout value
+ */
+ public Integer timeout() {
+ return this.timeout;
+ }
+
+ /**
+ * Set run timeout in seconds.
+ *
+ * @param timeout the timeout value to set
+ * @return the TaskUpdateParameters object itself.
+ */
+ public TaskUpdateParameters withTimeout(Integer timeout) {
+ this.timeout = timeout;
+ return this;
+ }
+
+ /**
+ * Get the properties for updating a task step.
+ *
+ * @return the step value
+ */
+ public TaskStepUpdateParameters step() {
+ return this.step;
+ }
+
+ /**
+ * Set the properties for updating a task step.
+ *
+ * @param step the step value to set
+ * @return the TaskUpdateParameters object itself.
+ */
+ public TaskUpdateParameters withStep(TaskStepUpdateParameters step) {
+ this.step = step;
+ return this;
+ }
+
+ /**
+ * Get the properties for updating trigger properties.
+ *
+ * @return the trigger value
+ */
+ public TriggerUpdateParameters trigger() {
+ return this.trigger;
+ }
+
+ /**
+ * Set the properties for updating trigger properties.
+ *
+ * @param trigger the trigger value to set
+ * @return the TaskUpdateParameters object itself.
+ */
+ public TaskUpdateParameters withTrigger(TriggerUpdateParameters trigger) {
+ this.trigger = trigger;
+ return this;
+ }
+
+ /**
+ * Get the parameters that describes a set of credentials that will be used when this run is invoked.
+ *
+ * @return the credentials value
+ */
+ public Credentials credentials() {
+ return this.credentials;
+ }
+
+ /**
+ * Set the parameters that describes a set of credentials that will be used when this run is invoked.
+ *
+ * @param credentials the credentials value to set
+ * @return the TaskUpdateParameters object itself.
+ */
+ public TaskUpdateParameters withCredentials(Credentials credentials) {
+ this.credentials = credentials;
+ return this;
+ }
+
+ /**
+ * Get the ARM resource tags.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the ARM resource tags.
+ *
+ * @param tags the tags value to set
+ * @return the TaskUpdateParameters object itself.
+ */
+ public TaskUpdateParameters withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Tasks.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Tasks.java
new file mode 100644
index 000000000000..bf6aa5f89509
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Tasks.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation.TasksInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Tasks.
+ */
+public interface Tasks extends SupportsCreating, HasInner {
+ /**
+ * Returns a task with extended information that includes all secrets.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getDetailsAsync(String resourceGroupName, String registryName, String taskName);
+
+ /**
+ * Get the properties of a specified task.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String registryName, String taskName);
+
+ /**
+ * Lists all the tasks for a specified container registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String registryName);
+
+ /**
+ * Deletes a specified task.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param taskName The name of the container registry task.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String registryName, String taskName);
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TimerTrigger.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TimerTrigger.java
new file mode 100644
index 000000000000..8404bd92f41b
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TimerTrigger.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties of a timer trigger.
+ */
+public class TimerTrigger {
+ /**
+ * The CRON expression for the task schedule.
+ */
+ @JsonProperty(value = "schedule", required = true)
+ private String schedule;
+
+ /**
+ * The current status of trigger. Possible values include: 'Disabled',
+ * 'Enabled'.
+ */
+ @JsonProperty(value = "status")
+ private TriggerStatus status;
+
+ /**
+ * The name of the trigger.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Get the CRON expression for the task schedule.
+ *
+ * @return the schedule value
+ */
+ public String schedule() {
+ return this.schedule;
+ }
+
+ /**
+ * Set the CRON expression for the task schedule.
+ *
+ * @param schedule the schedule value to set
+ * @return the TimerTrigger object itself.
+ */
+ public TimerTrigger withSchedule(String schedule) {
+ this.schedule = schedule;
+ return this;
+ }
+
+ /**
+ * Get the current status of trigger. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @return the status value
+ */
+ public TriggerStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the current status of trigger. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @param status the status value to set
+ * @return the TimerTrigger object itself.
+ */
+ public TimerTrigger withStatus(TriggerStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the name of the trigger.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the trigger.
+ *
+ * @param name the name value to set
+ * @return the TimerTrigger object itself.
+ */
+ public TimerTrigger withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TimerTriggerDescriptor.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TimerTriggerDescriptor.java
new file mode 100644
index 000000000000..e441d4464d35
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TimerTriggerDescriptor.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The TimerTriggerDescriptor model.
+ */
+public class TimerTriggerDescriptor {
+ /**
+ * The timer trigger name that caused the run.
+ */
+ @JsonProperty(value = "timerTriggerName")
+ private String timerTriggerName;
+
+ /**
+ * The occurrence that triggered the run.
+ */
+ @JsonProperty(value = "scheduleOccurrence")
+ private String scheduleOccurrence;
+
+ /**
+ * Get the timer trigger name that caused the run.
+ *
+ * @return the timerTriggerName value
+ */
+ public String timerTriggerName() {
+ return this.timerTriggerName;
+ }
+
+ /**
+ * Set the timer trigger name that caused the run.
+ *
+ * @param timerTriggerName the timerTriggerName value to set
+ * @return the TimerTriggerDescriptor object itself.
+ */
+ public TimerTriggerDescriptor withTimerTriggerName(String timerTriggerName) {
+ this.timerTriggerName = timerTriggerName;
+ return this;
+ }
+
+ /**
+ * Get the occurrence that triggered the run.
+ *
+ * @return the scheduleOccurrence value
+ */
+ public String scheduleOccurrence() {
+ return this.scheduleOccurrence;
+ }
+
+ /**
+ * Set the occurrence that triggered the run.
+ *
+ * @param scheduleOccurrence the scheduleOccurrence value to set
+ * @return the TimerTriggerDescriptor object itself.
+ */
+ public TimerTriggerDescriptor withScheduleOccurrence(String scheduleOccurrence) {
+ this.scheduleOccurrence = scheduleOccurrence;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TimerTriggerUpdateParameters.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TimerTriggerUpdateParameters.java
new file mode 100644
index 000000000000..9a530bbeb02e
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TimerTriggerUpdateParameters.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties for updating a timer trigger.
+ */
+public class TimerTriggerUpdateParameters {
+ /**
+ * The CRON expression for the task schedule.
+ */
+ @JsonProperty(value = "schedule")
+ private String schedule;
+
+ /**
+ * The current status of trigger. Possible values include: 'Disabled',
+ * 'Enabled'.
+ */
+ @JsonProperty(value = "status")
+ private TriggerStatus status;
+
+ /**
+ * The name of the trigger.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Get the CRON expression for the task schedule.
+ *
+ * @return the schedule value
+ */
+ public String schedule() {
+ return this.schedule;
+ }
+
+ /**
+ * Set the CRON expression for the task schedule.
+ *
+ * @param schedule the schedule value to set
+ * @return the TimerTriggerUpdateParameters object itself.
+ */
+ public TimerTriggerUpdateParameters withSchedule(String schedule) {
+ this.schedule = schedule;
+ return this;
+ }
+
+ /**
+ * Get the current status of trigger. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @return the status value
+ */
+ public TriggerStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the current status of trigger. Possible values include: 'Disabled', 'Enabled'.
+ *
+ * @param status the status value to set
+ * @return the TimerTriggerUpdateParameters object itself.
+ */
+ public TimerTriggerUpdateParameters withStatus(TriggerStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the name of the trigger.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the trigger.
+ *
+ * @param name the name value to set
+ * @return the TimerTriggerUpdateParameters object itself.
+ */
+ public TimerTriggerUpdateParameters withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TokenType.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TokenType.java
new file mode 100644
index 000000000000..212080864db5
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TokenType.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for TokenType.
+ */
+public final class TokenType extends ExpandableStringEnum {
+ /** Static value PAT for TokenType. */
+ public static final TokenType PAT = fromString("PAT");
+
+ /** Static value OAuth for TokenType. */
+ public static final TokenType OAUTH = fromString("OAuth");
+
+ /**
+ * Creates or finds a TokenType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding TokenType
+ */
+ @JsonCreator
+ public static TokenType fromString(String name) {
+ return fromString(name, TokenType.class);
+ }
+
+ /**
+ * @return known TokenType values
+ */
+ public static Collection values() {
+ return values(TokenType.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TriggerProperties.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TriggerProperties.java
new file mode 100644
index 000000000000..1935f8f16b49
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TriggerProperties.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.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties of a trigger.
+ */
+public class TriggerProperties {
+ /**
+ * The collection of timer triggers.
+ */
+ @JsonProperty(value = "timerTriggers")
+ private List timerTriggers;
+
+ /**
+ * The collection of triggers based on source code repository.
+ */
+ @JsonProperty(value = "sourceTriggers")
+ private List sourceTriggers;
+
+ /**
+ * The trigger based on base image dependencies.
+ */
+ @JsonProperty(value = "baseImageTrigger")
+ private BaseImageTrigger baseImageTrigger;
+
+ /**
+ * Get the collection of timer triggers.
+ *
+ * @return the timerTriggers value
+ */
+ public List timerTriggers() {
+ return this.timerTriggers;
+ }
+
+ /**
+ * Set the collection of timer triggers.
+ *
+ * @param timerTriggers the timerTriggers value to set
+ * @return the TriggerProperties object itself.
+ */
+ public TriggerProperties withTimerTriggers(List timerTriggers) {
+ this.timerTriggers = timerTriggers;
+ return this;
+ }
+
+ /**
+ * Get the collection of triggers based on source code repository.
+ *
+ * @return the sourceTriggers value
+ */
+ public List sourceTriggers() {
+ return this.sourceTriggers;
+ }
+
+ /**
+ * Set the collection of triggers based on source code repository.
+ *
+ * @param sourceTriggers the sourceTriggers value to set
+ * @return the TriggerProperties object itself.
+ */
+ public TriggerProperties withSourceTriggers(List sourceTriggers) {
+ this.sourceTriggers = sourceTriggers;
+ return this;
+ }
+
+ /**
+ * Get the trigger based on base image dependencies.
+ *
+ * @return the baseImageTrigger value
+ */
+ public BaseImageTrigger baseImageTrigger() {
+ return this.baseImageTrigger;
+ }
+
+ /**
+ * Set the trigger based on base image dependencies.
+ *
+ * @param baseImageTrigger the baseImageTrigger value to set
+ * @return the TriggerProperties object itself.
+ */
+ public TriggerProperties withBaseImageTrigger(BaseImageTrigger baseImageTrigger) {
+ this.baseImageTrigger = baseImageTrigger;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TriggerStatus.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TriggerStatus.java
new file mode 100644
index 000000000000..cae1eb927b39
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TriggerStatus.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for TriggerStatus.
+ */
+public final class TriggerStatus extends ExpandableStringEnum {
+ /** Static value Disabled for TriggerStatus. */
+ public static final TriggerStatus DISABLED = fromString("Disabled");
+
+ /** Static value Enabled for TriggerStatus. */
+ public static final TriggerStatus ENABLED = fromString("Enabled");
+
+ /**
+ * Creates or finds a TriggerStatus from its string representation.
+ * @param name a name to look for
+ * @return the corresponding TriggerStatus
+ */
+ @JsonCreator
+ public static TriggerStatus fromString(String name) {
+ return fromString(name, TriggerStatus.class);
+ }
+
+ /**
+ * @return known TriggerStatus values
+ */
+ public static Collection values() {
+ return values(TriggerStatus.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TriggerUpdateParameters.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TriggerUpdateParameters.java
new file mode 100644
index 000000000000..a0be819b6dac
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/TriggerUpdateParameters.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.containerregistry.v2019_06_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties for updating triggers.
+ */
+public class TriggerUpdateParameters {
+ /**
+ * The collection of timer triggers.
+ */
+ @JsonProperty(value = "timerTriggers")
+ private List timerTriggers;
+
+ /**
+ * The collection of triggers based on source code repository.
+ */
+ @JsonProperty(value = "sourceTriggers")
+ private List sourceTriggers;
+
+ /**
+ * The trigger based on base image dependencies.
+ */
+ @JsonProperty(value = "baseImageTrigger")
+ private BaseImageTriggerUpdateParameters baseImageTrigger;
+
+ /**
+ * Get the collection of timer triggers.
+ *
+ * @return the timerTriggers value
+ */
+ public List timerTriggers() {
+ return this.timerTriggers;
+ }
+
+ /**
+ * Set the collection of timer triggers.
+ *
+ * @param timerTriggers the timerTriggers value to set
+ * @return the TriggerUpdateParameters object itself.
+ */
+ public TriggerUpdateParameters withTimerTriggers(List timerTriggers) {
+ this.timerTriggers = timerTriggers;
+ return this;
+ }
+
+ /**
+ * Get the collection of triggers based on source code repository.
+ *
+ * @return the sourceTriggers value
+ */
+ public List sourceTriggers() {
+ return this.sourceTriggers;
+ }
+
+ /**
+ * Set the collection of triggers based on source code repository.
+ *
+ * @param sourceTriggers the sourceTriggers value to set
+ * @return the TriggerUpdateParameters object itself.
+ */
+ public TriggerUpdateParameters withSourceTriggers(List sourceTriggers) {
+ this.sourceTriggers = sourceTriggers;
+ return this;
+ }
+
+ /**
+ * Get the trigger based on base image dependencies.
+ *
+ * @return the baseImageTrigger value
+ */
+ public BaseImageTriggerUpdateParameters baseImageTrigger() {
+ return this.baseImageTrigger;
+ }
+
+ /**
+ * Set the trigger based on base image dependencies.
+ *
+ * @param baseImageTrigger the baseImageTrigger value to set
+ * @return the TriggerUpdateParameters object itself.
+ */
+ public TriggerUpdateParameters withBaseImageTrigger(BaseImageTriggerUpdateParameters baseImageTrigger) {
+ this.baseImageTrigger = baseImageTrigger;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/UpdateTriggerPayloadType.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/UpdateTriggerPayloadType.java
new file mode 100644
index 000000000000..d770a3910e61
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/UpdateTriggerPayloadType.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for UpdateTriggerPayloadType.
+ */
+public final class UpdateTriggerPayloadType extends ExpandableStringEnum {
+ /** Static value Default for UpdateTriggerPayloadType. */
+ public static final UpdateTriggerPayloadType DEFAULT = fromString("Default");
+
+ /** Static value Token for UpdateTriggerPayloadType. */
+ public static final UpdateTriggerPayloadType TOKEN = fromString("Token");
+
+ /**
+ * Creates or finds a UpdateTriggerPayloadType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding UpdateTriggerPayloadType
+ */
+ @JsonCreator
+ public static UpdateTriggerPayloadType fromString(String name) {
+ return fromString(name, UpdateTriggerPayloadType.class);
+ }
+
+ /**
+ * @return known UpdateTriggerPayloadType values
+ */
+ public static Collection values() {
+ return values(UpdateTriggerPayloadType.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/UserIdentityProperties.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/UserIdentityProperties.java
new file mode 100644
index 000000000000..49ec2510fc0e
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/UserIdentityProperties.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.containerregistry.v2019_06_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The UserIdentityProperties model.
+ */
+public class UserIdentityProperties {
+ /**
+ * The principal id of user assigned identity.
+ */
+ @JsonProperty(value = "principalId")
+ private String principalId;
+
+ /**
+ * The client id of user assigned identity.
+ */
+ @JsonProperty(value = "clientId")
+ private String clientId;
+
+ /**
+ * Get the principal id of user assigned identity.
+ *
+ * @return the principalId value
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Set the principal id of user assigned identity.
+ *
+ * @param principalId the principalId value to set
+ * @return the UserIdentityProperties object itself.
+ */
+ public UserIdentityProperties withPrincipalId(String principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ /**
+ * Get the client id of user assigned identity.
+ *
+ * @return the clientId value
+ */
+ public String clientId() {
+ return this.clientId;
+ }
+
+ /**
+ * Set the client id of user assigned identity.
+ *
+ * @param clientId the clientId value to set
+ * @return the UserIdentityProperties object itself.
+ */
+ public UserIdentityProperties withClientId(String clientId) {
+ this.clientId = clientId;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Variant.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Variant.java
new file mode 100644
index 000000000000..6496d1cbff62
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/Variant.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.containerregistry.v2019_06_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for Variant.
+ */
+public final class Variant extends ExpandableStringEnum {
+ /** Static value v6 for Variant. */
+ public static final Variant V6 = fromString("v6");
+
+ /** Static value v7 for Variant. */
+ public static final Variant V7 = fromString("v7");
+
+ /** Static value v8 for Variant. */
+ public static final Variant V8 = fromString("v8");
+
+ /**
+ * Creates or finds a Variant from its string representation.
+ * @param name a name to look for
+ * @return the corresponding Variant
+ */
+ @JsonCreator
+ public static Variant fromString(String name) {
+ return fromString(name, Variant.class);
+ }
+
+ /**
+ * @return known Variant values
+ */
+ public static Collection values() {
+ return values(Variant.class);
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/ContainerRegistryManagementClientImpl.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/ContainerRegistryManagementClientImpl.java
new file mode 100644
index 000000000000..6fa55f6d9218
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/ContainerRegistryManagementClientImpl.java
@@ -0,0 +1,224 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation;
+
+import com.microsoft.azure.AzureClient;
+import com.microsoft.azure.AzureServiceClient;
+import com.microsoft.rest.credentials.ServiceClientCredentials;
+import com.microsoft.rest.RestClient;
+
+/**
+ * Initializes a new instance of the ContainerRegistryManagementClientImpl class.
+ */
+public class ContainerRegistryManagementClientImpl extends AzureServiceClient {
+ /** the {@link AzureClient} used for long running operations. */
+ private AzureClient azureClient;
+
+ /**
+ * Gets the {@link AzureClient} used for long running operations.
+ * @return the azure client;
+ */
+ public AzureClient getAzureClient() {
+ return this.azureClient;
+ }
+
+ /** The Microsoft Azure subscription ID. */
+ private String subscriptionId;
+
+ /**
+ * Gets The Microsoft Azure subscription ID.
+ *
+ * @return the subscriptionId value.
+ */
+ public String subscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * Sets The Microsoft Azure subscription ID.
+ *
+ * @param subscriptionId the subscriptionId value.
+ * @return the service client itself
+ */
+ public ContainerRegistryManagementClientImpl withSubscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /** The client API version. */
+ private String apiVersion;
+
+ /**
+ * Gets The client API version.
+ *
+ * @return the apiVersion value.
+ */
+ public String apiVersion() {
+ return this.apiVersion;
+ }
+
+ /** The preferred language for the response. */
+ private String acceptLanguage;
+
+ /**
+ * Gets The preferred language for the response.
+ *
+ * @return the acceptLanguage value.
+ */
+ public String acceptLanguage() {
+ return this.acceptLanguage;
+ }
+
+ /**
+ * Sets The preferred language for the response.
+ *
+ * @param acceptLanguage the acceptLanguage value.
+ * @return the service client itself
+ */
+ public ContainerRegistryManagementClientImpl withAcceptLanguage(String acceptLanguage) {
+ this.acceptLanguage = acceptLanguage;
+ return this;
+ }
+
+ /** The retry timeout in seconds for Long Running Operations. Default value is 30. */
+ private int longRunningOperationRetryTimeout;
+
+ /**
+ * Gets The retry timeout in seconds for Long Running Operations. Default value is 30.
+ *
+ * @return the longRunningOperationRetryTimeout value.
+ */
+ public int longRunningOperationRetryTimeout() {
+ return this.longRunningOperationRetryTimeout;
+ }
+
+ /**
+ * Sets The retry timeout in seconds for Long Running Operations. Default value is 30.
+ *
+ * @param longRunningOperationRetryTimeout the longRunningOperationRetryTimeout value.
+ * @return the service client itself
+ */
+ public ContainerRegistryManagementClientImpl withLongRunningOperationRetryTimeout(int longRunningOperationRetryTimeout) {
+ this.longRunningOperationRetryTimeout = longRunningOperationRetryTimeout;
+ return this;
+ }
+
+ /** Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true. */
+ private boolean generateClientRequestId;
+
+ /**
+ * Gets Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true.
+ *
+ * @return the generateClientRequestId value.
+ */
+ public boolean generateClientRequestId() {
+ return this.generateClientRequestId;
+ }
+
+ /**
+ * Sets Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true.
+ *
+ * @param generateClientRequestId the generateClientRequestId value.
+ * @return the service client itself
+ */
+ public ContainerRegistryManagementClientImpl withGenerateClientRequestId(boolean generateClientRequestId) {
+ this.generateClientRequestId = generateClientRequestId;
+ return this;
+ }
+
+ /**
+ * The RegistriesInner object to access its operations.
+ */
+ private RegistriesInner registries;
+
+ /**
+ * Gets the RegistriesInner object to access its operations.
+ * @return the RegistriesInner object.
+ */
+ public RegistriesInner registries() {
+ return this.registries;
+ }
+
+ /**
+ * The RunsInner object to access its operations.
+ */
+ private RunsInner runs;
+
+ /**
+ * Gets the RunsInner object to access its operations.
+ * @return the RunsInner object.
+ */
+ public RunsInner runs() {
+ return this.runs;
+ }
+
+ /**
+ * The TasksInner object to access its operations.
+ */
+ private TasksInner tasks;
+
+ /**
+ * Gets the TasksInner object to access its operations.
+ * @return the TasksInner object.
+ */
+ public TasksInner tasks() {
+ return this.tasks;
+ }
+
+ /**
+ * Initializes an instance of ContainerRegistryManagementClient client.
+ *
+ * @param credentials the management credentials for Azure
+ */
+ public ContainerRegistryManagementClientImpl(ServiceClientCredentials credentials) {
+ this("https://management.azure.com", credentials);
+ }
+
+ /**
+ * Initializes an instance of ContainerRegistryManagementClient client.
+ *
+ * @param baseUrl the base URL of the host
+ * @param credentials the management credentials for Azure
+ */
+ public ContainerRegistryManagementClientImpl(String baseUrl, ServiceClientCredentials credentials) {
+ super(baseUrl, credentials);
+ initialize();
+ }
+
+ /**
+ * Initializes an instance of ContainerRegistryManagementClient client.
+ *
+ * @param restClient the REST client to connect to Azure.
+ */
+ public ContainerRegistryManagementClientImpl(RestClient restClient) {
+ super(restClient);
+ initialize();
+ }
+
+ protected void initialize() {
+ this.apiVersion = "2019-06-01-preview";
+ this.acceptLanguage = "en-US";
+ this.longRunningOperationRetryTimeout = 30;
+ this.generateClientRequestId = true;
+ this.registries = new RegistriesInner(restClient().retrofit(), this);
+ this.runs = new RunsInner(restClient().retrofit(), this);
+ this.tasks = new TasksInner(restClient().retrofit(), this);
+ this.azureClient = new AzureClient(this);
+ }
+
+ /**
+ * Gets the User-Agent header for the client.
+ *
+ * @return the user agent string.
+ */
+ @Override
+ public String userAgent() {
+ return String.format("%s (%s, %s, auto-generated)", super.userAgent(), "ContainerRegistryManagementClient", "2019-06-01-preview");
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/ContainerRegistryManager.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/ContainerRegistryManager.java
new file mode 100644
index 000000000000..939e317321f2
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/ContainerRegistryManager.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.containerregistry.v2019_06_01_preview.implementation;
+
+import com.microsoft.azure.AzureEnvironment;
+import com.microsoft.azure.AzureResponseBuilder;
+import com.microsoft.azure.credentials.AzureTokenCredentials;
+import com.microsoft.azure.management.apigeneration.Beta;
+import com.microsoft.azure.management.apigeneration.Beta.SinceVersion;
+import com.microsoft.azure.arm.resources.AzureConfigurable;
+import com.microsoft.azure.serializer.AzureJacksonAdapter;
+import com.microsoft.rest.RestClient;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Registries;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Runs;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Tasks;
+import com.microsoft.azure.arm.resources.implementation.AzureConfigurableCoreImpl;
+import com.microsoft.azure.arm.resources.implementation.ManagerCore;
+
+/**
+ * Entry point to Azure ContainerRegistry resource management.
+ */
+public final class ContainerRegistryManager extends ManagerCore {
+ private Registries registries;
+ private Runs runs;
+ private Tasks tasks;
+ /**
+ * Get a Configurable instance that can be used to create ContainerRegistryManager with optional configuration.
+ *
+ * @return the instance allowing configurations
+ */
+ public static Configurable configure() {
+ return new ContainerRegistryManager.ConfigurableImpl();
+ }
+ /**
+ * Creates an instance of ContainerRegistryManager that exposes ContainerRegistry resource management API entry points.
+ *
+ * @param credentials the credentials to use
+ * @param subscriptionId the subscription UUID
+ * @return the ContainerRegistryManager
+ */
+ public static ContainerRegistryManager authenticate(AzureTokenCredentials credentials, String subscriptionId) {
+ return new ContainerRegistryManager(new RestClient.Builder()
+ .withBaseUrl(credentials.environment(), AzureEnvironment.Endpoint.RESOURCE_MANAGER)
+ .withCredentials(credentials)
+ .withSerializerAdapter(new AzureJacksonAdapter())
+ .withResponseBuilderFactory(new AzureResponseBuilder.Factory())
+ .build(), subscriptionId);
+ }
+ /**
+ * Creates an instance of ContainerRegistryManager that exposes ContainerRegistry resource management API entry points.
+ *
+ * @param restClient the RestClient to be used for API calls.
+ * @param subscriptionId the subscription UUID
+ * @return the ContainerRegistryManager
+ */
+ public static ContainerRegistryManager authenticate(RestClient restClient, String subscriptionId) {
+ return new ContainerRegistryManager(restClient, subscriptionId);
+ }
+ /**
+ * The interface allowing configurations to be set.
+ */
+ public interface Configurable extends AzureConfigurable {
+ /**
+ * Creates an instance of ContainerRegistryManager that exposes ContainerRegistry management API entry points.
+ *
+ * @param credentials the credentials to use
+ * @param subscriptionId the subscription UUID
+ * @return the interface exposing ContainerRegistry management API entry points that work across subscriptions
+ */
+ ContainerRegistryManager authenticate(AzureTokenCredentials credentials, String subscriptionId);
+ }
+
+ /**
+ * @return Entry point to manage Registries.
+ */
+ public Registries registries() {
+ if (this.registries == null) {
+ this.registries = new RegistriesImpl(this);
+ }
+ return this.registries;
+ }
+
+ /**
+ * @return Entry point to manage Runs.
+ */
+ public Runs runs() {
+ if (this.runs == null) {
+ this.runs = new RunsImpl(this);
+ }
+ return this.runs;
+ }
+
+ /**
+ * @return Entry point to manage Tasks.
+ */
+ public Tasks tasks() {
+ if (this.tasks == null) {
+ this.tasks = new TasksImpl(this);
+ }
+ return this.tasks;
+ }
+
+ /**
+ * The implementation for Configurable interface.
+ */
+ private static final class ConfigurableImpl extends AzureConfigurableCoreImpl implements Configurable {
+ public ContainerRegistryManager authenticate(AzureTokenCredentials credentials, String subscriptionId) {
+ return ContainerRegistryManager.authenticate(buildRestClient(credentials), subscriptionId);
+ }
+ }
+ private ContainerRegistryManager(RestClient restClient, String subscriptionId) {
+ super(
+ restClient,
+ subscriptionId,
+ new ContainerRegistryManagementClientImpl(restClient).withSubscriptionId(subscriptionId));
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/IdParsingUtils.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/IdParsingUtils.java
new file mode 100644
index 000000000000..5b48ca5d580e
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/IdParsingUtils.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.containerregistry.v2019_06_01_preview.implementation;
+import java.util.Arrays;
+import java.util.Iterator;
+
+class IdParsingUtils {
+ public static String getValueFromIdByName(String id, String name) {
+ if (id == null) {
+ return null;
+ }
+ Iterable iterable = Arrays.asList(id.split("/"));
+ Iterator itr = iterable.iterator();
+ while (itr.hasNext()) {
+ String part = itr.next();
+ if (part != null && part.trim() != "") {
+ if (part.equalsIgnoreCase(name)) {
+ if (itr.hasNext()) {
+ return itr.next();
+ } else {
+ return null;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ public static String getValueFromIdByPosition(String id, int pos) {
+ if (id == null) {
+ return null;
+ }
+ Iterable iterable = Arrays.asList(id.split("/"));
+ Iterator itr = iterable.iterator();
+ int index = 0;
+ while (itr.hasNext()) {
+ String part = itr.next();
+ if (part != null && part.trim() != "") {
+ if (index == pos) {
+ if (itr.hasNext()) {
+ return itr.next();
+ } else {
+ return null;
+ }
+ }
+ }
+ index++;
+ }
+ return null;
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/PageImpl.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/PageImpl.java
new file mode 100644
index 000000000000..68287eb77017
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/PageImpl.java
@@ -0,0 +1,75 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.azure.Page;
+import java.util.List;
+
+/**
+ * An instance of this class defines a page of Azure resources and a link to
+ * get the next page of resources, if any.
+ *
+ * @param type of Azure resource
+ */
+public class PageImpl implements Page {
+ /**
+ * The link to the next page.
+ */
+ @JsonProperty("nextLink")
+ private String nextPageLink;
+
+ /**
+ * The list of items.
+ */
+ @JsonProperty("value")
+ private List items;
+
+ /**
+ * Gets the link to the next page.
+ *
+ * @return the link to the next page.
+ */
+ @Override
+ public String nextPageLink() {
+ return this.nextPageLink;
+ }
+
+ /**
+ * Gets the list of items.
+ *
+ * @return the list of items in {@link List}.
+ */
+ @Override
+ public List items() {
+ return items;
+ }
+
+ /**
+ * Sets the link to the next page.
+ *
+ * @param nextPageLink the link to the next page.
+ * @return this Page object itself.
+ */
+ public PageImpl setNextPageLink(String nextPageLink) {
+ this.nextPageLink = nextPageLink;
+ return this;
+ }
+
+ /**
+ * Sets the list of items.
+ *
+ * @param items the list of items in {@link List}.
+ * @return this Page object itself.
+ */
+ public PageImpl setItems(List items) {
+ this.items = items;
+ return this;
+ }
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RegistriesImpl.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RegistriesImpl.java
new file mode 100644
index 000000000000..cbcff5ce0666
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RegistriesImpl.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.
+ * abc
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Registries;
+import rx.functions.Func1;
+import rx.Observable;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Run;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.SourceUploadDefinition;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.RunRequest;
+
+class RegistriesImpl extends WrapperImpl implements Registries {
+ private final ContainerRegistryManager manager;
+
+ RegistriesImpl(ContainerRegistryManager manager) {
+ super(manager.inner().registries());
+ this.manager = manager;
+ }
+
+ public ContainerRegistryManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable scheduleRunAsync(String resourceGroupName, String registryName, RunRequest runRequest) {
+ RegistriesInner client = this.inner();
+ return client.scheduleRunAsync(resourceGroupName, registryName, runRequest)
+ .map(new Func1() {
+ @Override
+ public Run call(RunInner inner) {
+ return new RunImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable getBuildSourceUploadUrlAsync(String resourceGroupName, String registryName) {
+ RegistriesInner client = this.inner();
+ return client.getBuildSourceUploadUrlAsync(resourceGroupName, registryName)
+ .map(new Func1() {
+ @Override
+ public SourceUploadDefinition call(SourceUploadDefinitionInner inner) {
+ return new SourceUploadDefinitionImpl(inner, manager());
+ }
+ });
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RegistriesInner.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RegistriesInner.java
new file mode 100644
index 000000000000..e96c5c7e23e3
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RegistriesInner.java
@@ -0,0 +1,329 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.CloudException;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.RunRequest;
+import com.microsoft.rest.ServiceCallback;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import com.microsoft.rest.Validator;
+import java.io.IOException;
+import okhttp3.ResponseBody;
+import retrofit2.http.Body;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.Path;
+import retrofit2.http.POST;
+import retrofit2.http.Query;
+import retrofit2.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in Registries.
+ */
+public class RegistriesInner {
+ /** The Retrofit service to perform REST calls. */
+ private RegistriesService service;
+ /** The service client containing this operation class. */
+ private ContainerRegistryManagementClientImpl client;
+
+ /**
+ * Initializes an instance of RegistriesInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public RegistriesInner(Retrofit retrofit, ContainerRegistryManagementClientImpl client) {
+ this.service = retrofit.create(RegistriesService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for Registries to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface RegistriesService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Registries scheduleRun" })
+ @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scheduleRun")
+ Observable> scheduleRun(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("registryName") String registryName, @Query("api-version") String apiVersion, @Body RunRequest runRequest, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Registries beginScheduleRun" })
+ @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scheduleRun")
+ Observable> beginScheduleRun(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("registryName") String registryName, @Query("api-version") String apiVersion, @Body RunRequest runRequest, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Registries getBuildSourceUploadUrl" })
+ @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listBuildSourceUploadUrl")
+ Observable> getBuildSourceUploadUrl(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("registryName") String registryName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Schedules a new run based on the request parameters and add it to the run queue.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runRequest The parameters of a run that needs to scheduled.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the RunInner object if successful.
+ */
+ public RunInner scheduleRun(String resourceGroupName, String registryName, RunRequest runRequest) {
+ return scheduleRunWithServiceResponseAsync(resourceGroupName, registryName, runRequest).toBlocking().last().body();
+ }
+
+ /**
+ * Schedules a new run based on the request parameters and add it to the run queue.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runRequest The parameters of a run that needs to scheduled.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture scheduleRunAsync(String resourceGroupName, String registryName, RunRequest runRequest, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(scheduleRunWithServiceResponseAsync(resourceGroupName, registryName, runRequest), serviceCallback);
+ }
+
+ /**
+ * Schedules a new run based on the request parameters and add it to the run queue.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runRequest The parameters of a run that needs to scheduled.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ public Observable scheduleRunAsync(String resourceGroupName, String registryName, RunRequest runRequest) {
+ return scheduleRunWithServiceResponseAsync(resourceGroupName, registryName, runRequest).map(new Func1, RunInner>() {
+ @Override
+ public RunInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Schedules a new run based on the request parameters and add it to the run queue.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runRequest The parameters of a run that needs to scheduled.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ public Observable> scheduleRunWithServiceResponseAsync(String resourceGroupName, String registryName, RunRequest runRequest) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (registryName == null) {
+ throw new IllegalArgumentException("Parameter registryName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ if (runRequest == null) {
+ throw new IllegalArgumentException("Parameter runRequest is required and cannot be null.");
+ }
+ Validator.validate(runRequest);
+ Observable> observable = service.scheduleRun(this.client.subscriptionId(), resourceGroupName, registryName, this.client.apiVersion(), runRequest, this.client.acceptLanguage(), this.client.userAgent());
+ return client.getAzureClient().getPostOrDeleteResultAsync(observable, new TypeToken() { }.getType());
+ }
+
+ /**
+ * Schedules a new run based on the request parameters and add it to the run queue.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runRequest The parameters of a run that needs to scheduled.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the RunInner object if successful.
+ */
+ public RunInner beginScheduleRun(String resourceGroupName, String registryName, RunRequest runRequest) {
+ return beginScheduleRunWithServiceResponseAsync(resourceGroupName, registryName, runRequest).toBlocking().single().body();
+ }
+
+ /**
+ * Schedules a new run based on the request parameters and add it to the run queue.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runRequest The parameters of a run that needs to scheduled.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture beginScheduleRunAsync(String resourceGroupName, String registryName, RunRequest runRequest, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(beginScheduleRunWithServiceResponseAsync(resourceGroupName, registryName, runRequest), serviceCallback);
+ }
+
+ /**
+ * Schedules a new run based on the request parameters and add it to the run queue.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runRequest The parameters of a run that needs to scheduled.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the RunInner object
+ */
+ public Observable beginScheduleRunAsync(String resourceGroupName, String registryName, RunRequest runRequest) {
+ return beginScheduleRunWithServiceResponseAsync(resourceGroupName, registryName, runRequest).map(new Func1, RunInner>() {
+ @Override
+ public RunInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Schedules a new run based on the request parameters and add it to the run queue.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param runRequest The parameters of a run that needs to scheduled.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the RunInner object
+ */
+ public Observable> beginScheduleRunWithServiceResponseAsync(String resourceGroupName, String registryName, RunRequest runRequest) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (registryName == null) {
+ throw new IllegalArgumentException("Parameter registryName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ if (runRequest == null) {
+ throw new IllegalArgumentException("Parameter runRequest is required and cannot be null.");
+ }
+ Validator.validate(runRequest);
+ return service.beginScheduleRun(this.client.subscriptionId(), resourceGroupName, registryName, this.client.apiVersion(), runRequest, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = beginScheduleRunDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse beginScheduleRunDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .register(202, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Get the upload location for the user to be able to upload the source.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the SourceUploadDefinitionInner object if successful.
+ */
+ public SourceUploadDefinitionInner getBuildSourceUploadUrl(String resourceGroupName, String registryName) {
+ return getBuildSourceUploadUrlWithServiceResponseAsync(resourceGroupName, registryName).toBlocking().single().body();
+ }
+
+ /**
+ * Get the upload location for the user to be able to upload the source.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture getBuildSourceUploadUrlAsync(String resourceGroupName, String registryName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(getBuildSourceUploadUrlWithServiceResponseAsync(resourceGroupName, registryName), serviceCallback);
+ }
+
+ /**
+ * Get the upload location for the user to be able to upload the source.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the SourceUploadDefinitionInner object
+ */
+ public Observable getBuildSourceUploadUrlAsync(String resourceGroupName, String registryName) {
+ return getBuildSourceUploadUrlWithServiceResponseAsync(resourceGroupName, registryName).map(new Func1, SourceUploadDefinitionInner>() {
+ @Override
+ public SourceUploadDefinitionInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Get the upload location for the user to be able to upload the source.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the SourceUploadDefinitionInner object
+ */
+ public Observable> getBuildSourceUploadUrlWithServiceResponseAsync(String resourceGroupName, String registryName) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (registryName == null) {
+ throw new IllegalArgumentException("Parameter registryName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.getBuildSourceUploadUrl(this.client.subscriptionId(), resourceGroupName, registryName, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = getBuildSourceUploadUrlDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse getBuildSourceUploadUrlDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunGetLogResultImpl.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunGetLogResultImpl.java
new file mode 100644
index 000000000000..80b03766a198
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunGetLogResultImpl.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.containerregistry.v2019_06_01_preview.implementation;
+
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.RunGetLogResult;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+
+class RunGetLogResultImpl extends WrapperImpl implements RunGetLogResult {
+ private final ContainerRegistryManager manager;
+ RunGetLogResultImpl(RunGetLogResultInner inner, ContainerRegistryManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public ContainerRegistryManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public String logLink() {
+ return this.inner().logLink();
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunGetLogResultInner.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunGetLogResultInner.java
new file mode 100644
index 000000000000..066fa482226f
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunGetLogResultInner.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.containerregistry.v2019_06_01_preview.implementation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The result of get log link operation.
+ */
+public class RunGetLogResultInner {
+ /**
+ * The link to logs for a run on a azure container registry.
+ */
+ @JsonProperty(value = "logLink")
+ private String logLink;
+
+ /**
+ * Get the link to logs for a run on a azure container registry.
+ *
+ * @return the logLink value
+ */
+ public String logLink() {
+ return this.logLink;
+ }
+
+ /**
+ * Set the link to logs for a run on a azure container registry.
+ *
+ * @param logLink the logLink value to set
+ * @return the RunGetLogResultInner object itself.
+ */
+ public RunGetLogResultInner withLogLink(String logLink) {
+ this.logLink = logLink;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunImpl.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunImpl.java
new file mode 100644
index 000000000000..0d338e1eb88c
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunImpl.java
@@ -0,0 +1,204 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation;
+
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Run;
+import com.microsoft.azure.arm.model.implementation.CreatableUpdatableImpl;
+import rx.Observable;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.AgentProperties;
+import org.joda.time.DateTime;
+import java.util.List;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.ImageUpdateTrigger;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.ImageDescriptor;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.PlatformProperties;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.ProvisioningState;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.RunType;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.SourceTriggerDescriptor;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.RunStatus;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.TimerTriggerDescriptor;
+
+class RunImpl extends CreatableUpdatableImpl implements Run, Run.Update {
+ private final ContainerRegistryManager manager;
+ private String resourceGroupName;
+ private String registryName;
+ private String runId;
+ private Boolean uisArchiveEnabled;
+
+ RunImpl(String name, ContainerRegistryManager manager) {
+ super(name, new RunInner());
+ this.manager = manager;
+ // Set resource name
+ this.runId = name;
+ //
+ }
+
+ RunImpl(RunInner inner, ContainerRegistryManager manager) {
+ super(inner.name(), inner);
+ this.manager = manager;
+ // Set resource name
+ this.runId = inner.name();
+ // set resource ancestor and positional variables
+ this.resourceGroupName = IdParsingUtils.getValueFromIdByName(inner.id(), "resourceGroups");
+ this.registryName = IdParsingUtils.getValueFromIdByName(inner.id(), "registries");
+ this.runId = IdParsingUtils.getValueFromIdByName(inner.id(), "runs");
+ //
+ }
+
+ @Override
+ public ContainerRegistryManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable createResourceAsync() {
+ RunsInner client = this.manager().inner().runs();
+ return null; // NOP createResourceAsync implementation as create is not supported
+ }
+
+ @Override
+ public Observable updateResourceAsync() {
+ RunsInner client = this.manager().inner().runs();
+ return client.updateAsync(this.resourceGroupName, this.registryName, this.runId, this.uisArchiveEnabled)
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ RunsInner client = this.manager().inner().runs();
+ return client.getAsync(this.resourceGroupName, this.registryName, this.runId);
+ }
+
+ @Override
+ public boolean isInCreateMode() {
+ return this.inner().id() == null;
+ }
+
+
+ @Override
+ public AgentProperties agentConfiguration() {
+ return this.inner().agentConfiguration();
+ }
+
+ @Override
+ public DateTime createTime() {
+ return this.inner().createTime();
+ }
+
+ @Override
+ public List customRegistries() {
+ return this.inner().customRegistries();
+ }
+
+ @Override
+ public DateTime finishTime() {
+ return this.inner().finishTime();
+ }
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public ImageUpdateTrigger imageUpdateTrigger() {
+ return this.inner().imageUpdateTrigger();
+ }
+
+ @Override
+ public Boolean isArchiveEnabled() {
+ return this.inner().isArchiveEnabled();
+ }
+
+ @Override
+ public DateTime lastUpdatedTime() {
+ return this.inner().lastUpdatedTime();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public List outputImages() {
+ return this.inner().outputImages();
+ }
+
+ @Override
+ public PlatformProperties platform() {
+ return this.inner().platform();
+ }
+
+ @Override
+ public ProvisioningState provisioningState() {
+ return this.inner().provisioningState();
+ }
+
+ @Override
+ public String runErrorMessage() {
+ return this.inner().runErrorMessage();
+ }
+
+ @Override
+ public String runId() {
+ return this.inner().runId();
+ }
+
+ @Override
+ public RunType runType() {
+ return this.inner().runType();
+ }
+
+ @Override
+ public String sourceRegistryAuth() {
+ return this.inner().sourceRegistryAuth();
+ }
+
+ @Override
+ public SourceTriggerDescriptor sourceTrigger() {
+ return this.inner().sourceTrigger();
+ }
+
+ @Override
+ public DateTime startTime() {
+ return this.inner().startTime();
+ }
+
+ @Override
+ public RunStatus status() {
+ return this.inner().status();
+ }
+
+ @Override
+ public String task() {
+ return this.inner().task();
+ }
+
+ @Override
+ public TimerTriggerDescriptor timerTrigger() {
+ return this.inner().timerTrigger();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+ @Override
+ public String updateTriggerToken() {
+ return this.inner().updateTriggerToken();
+ }
+
+ @Override
+ public RunImpl withIsArchiveEnabled(Boolean isArchiveEnabled) {
+ this.uisArchiveEnabled = isArchiveEnabled;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunInner.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunInner.java
new file mode 100644
index 000000000000..03841bf43ab1
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunInner.java
@@ -0,0 +1,548 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation;
+
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.RunStatus;
+import org.joda.time.DateTime;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.RunType;
+import java.util.List;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.ImageDescriptor;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.ImageUpdateTrigger;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.SourceTriggerDescriptor;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.TimerTriggerDescriptor;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.PlatformProperties;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.AgentProperties;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.ProxyResource;
+
+/**
+ * Run resource properties.
+ */
+@JsonFlatten
+public class RunInner extends ProxyResource {
+ /**
+ * The unique identifier for the run.
+ */
+ @JsonProperty(value = "properties.runId")
+ private String runId;
+
+ /**
+ * The current status of the run. Possible values include: 'Queued',
+ * 'Started', 'Running', 'Succeeded', 'Failed', 'Canceled', 'Error',
+ * 'Timeout'.
+ */
+ @JsonProperty(value = "properties.status")
+ private RunStatus status;
+
+ /**
+ * The last updated time for the run.
+ */
+ @JsonProperty(value = "properties.lastUpdatedTime")
+ private DateTime lastUpdatedTime;
+
+ /**
+ * The type of run. Possible values include: 'QuickBuild', 'QuickRun',
+ * 'AutoBuild', 'AutoRun'.
+ */
+ @JsonProperty(value = "properties.runType")
+ private RunType runType;
+
+ /**
+ * The time the run was scheduled.
+ */
+ @JsonProperty(value = "properties.createTime")
+ private DateTime createTime;
+
+ /**
+ * The time the run started.
+ */
+ @JsonProperty(value = "properties.startTime")
+ private DateTime startTime;
+
+ /**
+ * The time the run finished.
+ */
+ @JsonProperty(value = "properties.finishTime")
+ private DateTime finishTime;
+
+ /**
+ * The list of all images that were generated from the run. This is
+ * applicable if the run generates base image dependencies.
+ */
+ @JsonProperty(value = "properties.outputImages")
+ private List outputImages;
+
+ /**
+ * The task against which run was scheduled.
+ */
+ @JsonProperty(value = "properties.task")
+ private String task;
+
+ /**
+ * The image update trigger that caused the run. This is applicable if the
+ * task has base image trigger configured.
+ */
+ @JsonProperty(value = "properties.imageUpdateTrigger")
+ private ImageUpdateTrigger imageUpdateTrigger;
+
+ /**
+ * The source trigger that caused the run.
+ */
+ @JsonProperty(value = "properties.sourceTrigger")
+ private SourceTriggerDescriptor sourceTrigger;
+
+ /**
+ * The timer trigger that caused the run.
+ */
+ @JsonProperty(value = "properties.timerTrigger")
+ private TimerTriggerDescriptor timerTrigger;
+
+ /**
+ * The platform properties against which the run will happen.
+ */
+ @JsonProperty(value = "properties.platform")
+ private PlatformProperties platform;
+
+ /**
+ * The machine configuration of the run agent.
+ */
+ @JsonProperty(value = "properties.agentConfiguration")
+ private AgentProperties agentConfiguration;
+
+ /**
+ * The scope of the credentials that were used to login to the source
+ * registry during this run.
+ */
+ @JsonProperty(value = "properties.sourceRegistryAuth")
+ private String sourceRegistryAuth;
+
+ /**
+ * The list of custom registries that were logged in during this run.
+ */
+ @JsonProperty(value = "properties.customRegistries")
+ private List customRegistries;
+
+ /**
+ * The error message received from backend systems after the run is
+ * scheduled.
+ */
+ @JsonProperty(value = "properties.runErrorMessage", access = JsonProperty.Access.WRITE_ONLY)
+ private String runErrorMessage;
+
+ /**
+ * The update trigger token passed for the Run.
+ */
+ @JsonProperty(value = "properties.updateTriggerToken")
+ private String updateTriggerToken;
+
+ /**
+ * The provisioning state of a run. Possible values include: 'Creating',
+ * 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled'.
+ */
+ @JsonProperty(value = "properties.provisioningState")
+ private ProvisioningState provisioningState;
+
+ /**
+ * The value that indicates whether archiving is enabled or not.
+ */
+ @JsonProperty(value = "properties.isArchiveEnabled")
+ private Boolean isArchiveEnabled;
+
+ /**
+ * Get the unique identifier for the run.
+ *
+ * @return the runId value
+ */
+ public String runId() {
+ return this.runId;
+ }
+
+ /**
+ * Set the unique identifier for the run.
+ *
+ * @param runId the runId value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withRunId(String runId) {
+ this.runId = runId;
+ return this;
+ }
+
+ /**
+ * Get the current status of the run. Possible values include: 'Queued', 'Started', 'Running', 'Succeeded', 'Failed', 'Canceled', 'Error', 'Timeout'.
+ *
+ * @return the status value
+ */
+ public RunStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the current status of the run. Possible values include: 'Queued', 'Started', 'Running', 'Succeeded', 'Failed', 'Canceled', 'Error', 'Timeout'.
+ *
+ * @param status the status value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withStatus(RunStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the last updated time for the run.
+ *
+ * @return the lastUpdatedTime value
+ */
+ public DateTime lastUpdatedTime() {
+ return this.lastUpdatedTime;
+ }
+
+ /**
+ * Set the last updated time for the run.
+ *
+ * @param lastUpdatedTime the lastUpdatedTime value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withLastUpdatedTime(DateTime lastUpdatedTime) {
+ this.lastUpdatedTime = lastUpdatedTime;
+ return this;
+ }
+
+ /**
+ * Get the type of run. Possible values include: 'QuickBuild', 'QuickRun', 'AutoBuild', 'AutoRun'.
+ *
+ * @return the runType value
+ */
+ public RunType runType() {
+ return this.runType;
+ }
+
+ /**
+ * Set the type of run. Possible values include: 'QuickBuild', 'QuickRun', 'AutoBuild', 'AutoRun'.
+ *
+ * @param runType the runType value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withRunType(RunType runType) {
+ this.runType = runType;
+ return this;
+ }
+
+ /**
+ * Get the time the run was scheduled.
+ *
+ * @return the createTime value
+ */
+ public DateTime createTime() {
+ return this.createTime;
+ }
+
+ /**
+ * Set the time the run was scheduled.
+ *
+ * @param createTime the createTime value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withCreateTime(DateTime createTime) {
+ this.createTime = createTime;
+ return this;
+ }
+
+ /**
+ * Get the time the run started.
+ *
+ * @return the startTime value
+ */
+ public DateTime startTime() {
+ return this.startTime;
+ }
+
+ /**
+ * Set the time the run started.
+ *
+ * @param startTime the startTime value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withStartTime(DateTime startTime) {
+ this.startTime = startTime;
+ return this;
+ }
+
+ /**
+ * Get the time the run finished.
+ *
+ * @return the finishTime value
+ */
+ public DateTime finishTime() {
+ return this.finishTime;
+ }
+
+ /**
+ * Set the time the run finished.
+ *
+ * @param finishTime the finishTime value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withFinishTime(DateTime finishTime) {
+ this.finishTime = finishTime;
+ return this;
+ }
+
+ /**
+ * Get the list of all images that were generated from the run. This is applicable if the run generates base image dependencies.
+ *
+ * @return the outputImages value
+ */
+ public List outputImages() {
+ return this.outputImages;
+ }
+
+ /**
+ * Set the list of all images that were generated from the run. This is applicable if the run generates base image dependencies.
+ *
+ * @param outputImages the outputImages value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withOutputImages(List outputImages) {
+ this.outputImages = outputImages;
+ return this;
+ }
+
+ /**
+ * Get the task against which run was scheduled.
+ *
+ * @return the task value
+ */
+ public String task() {
+ return this.task;
+ }
+
+ /**
+ * Set the task against which run was scheduled.
+ *
+ * @param task the task value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withTask(String task) {
+ this.task = task;
+ return this;
+ }
+
+ /**
+ * Get the image update trigger that caused the run. This is applicable if the task has base image trigger configured.
+ *
+ * @return the imageUpdateTrigger value
+ */
+ public ImageUpdateTrigger imageUpdateTrigger() {
+ return this.imageUpdateTrigger;
+ }
+
+ /**
+ * Set the image update trigger that caused the run. This is applicable if the task has base image trigger configured.
+ *
+ * @param imageUpdateTrigger the imageUpdateTrigger value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withImageUpdateTrigger(ImageUpdateTrigger imageUpdateTrigger) {
+ this.imageUpdateTrigger = imageUpdateTrigger;
+ return this;
+ }
+
+ /**
+ * Get the source trigger that caused the run.
+ *
+ * @return the sourceTrigger value
+ */
+ public SourceTriggerDescriptor sourceTrigger() {
+ return this.sourceTrigger;
+ }
+
+ /**
+ * Set the source trigger that caused the run.
+ *
+ * @param sourceTrigger the sourceTrigger value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withSourceTrigger(SourceTriggerDescriptor sourceTrigger) {
+ this.sourceTrigger = sourceTrigger;
+ return this;
+ }
+
+ /**
+ * Get the timer trigger that caused the run.
+ *
+ * @return the timerTrigger value
+ */
+ public TimerTriggerDescriptor timerTrigger() {
+ return this.timerTrigger;
+ }
+
+ /**
+ * Set the timer trigger that caused the run.
+ *
+ * @param timerTrigger the timerTrigger value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withTimerTrigger(TimerTriggerDescriptor timerTrigger) {
+ this.timerTrigger = timerTrigger;
+ return this;
+ }
+
+ /**
+ * Get the platform properties against which the run will happen.
+ *
+ * @return the platform value
+ */
+ public PlatformProperties platform() {
+ return this.platform;
+ }
+
+ /**
+ * Set the platform properties against which the run will happen.
+ *
+ * @param platform the platform value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withPlatform(PlatformProperties platform) {
+ this.platform = platform;
+ return this;
+ }
+
+ /**
+ * Get the machine configuration of the run agent.
+ *
+ * @return the agentConfiguration value
+ */
+ public AgentProperties agentConfiguration() {
+ return this.agentConfiguration;
+ }
+
+ /**
+ * Set the machine configuration of the run agent.
+ *
+ * @param agentConfiguration the agentConfiguration value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withAgentConfiguration(AgentProperties agentConfiguration) {
+ this.agentConfiguration = agentConfiguration;
+ return this;
+ }
+
+ /**
+ * Get the scope of the credentials that were used to login to the source registry during this run.
+ *
+ * @return the sourceRegistryAuth value
+ */
+ public String sourceRegistryAuth() {
+ return this.sourceRegistryAuth;
+ }
+
+ /**
+ * Set the scope of the credentials that were used to login to the source registry during this run.
+ *
+ * @param sourceRegistryAuth the sourceRegistryAuth value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withSourceRegistryAuth(String sourceRegistryAuth) {
+ this.sourceRegistryAuth = sourceRegistryAuth;
+ return this;
+ }
+
+ /**
+ * Get the list of custom registries that were logged in during this run.
+ *
+ * @return the customRegistries value
+ */
+ public List customRegistries() {
+ return this.customRegistries;
+ }
+
+ /**
+ * Set the list of custom registries that were logged in during this run.
+ *
+ * @param customRegistries the customRegistries value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withCustomRegistries(List customRegistries) {
+ this.customRegistries = customRegistries;
+ return this;
+ }
+
+ /**
+ * Get the error message received from backend systems after the run is scheduled.
+ *
+ * @return the runErrorMessage value
+ */
+ public String runErrorMessage() {
+ return this.runErrorMessage;
+ }
+
+ /**
+ * Get the update trigger token passed for the Run.
+ *
+ * @return the updateTriggerToken value
+ */
+ public String updateTriggerToken() {
+ return this.updateTriggerToken;
+ }
+
+ /**
+ * Set the update trigger token passed for the Run.
+ *
+ * @param updateTriggerToken the updateTriggerToken value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withUpdateTriggerToken(String updateTriggerToken) {
+ this.updateTriggerToken = updateTriggerToken;
+ return this;
+ }
+
+ /**
+ * Get the provisioning state of a run. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled'.
+ *
+ * @return the provisioningState value
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Set the provisioning state of a run. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled'.
+ *
+ * @param provisioningState the provisioningState value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withProvisioningState(ProvisioningState provisioningState) {
+ this.provisioningState = provisioningState;
+ return this;
+ }
+
+ /**
+ * Get the value that indicates whether archiving is enabled or not.
+ *
+ * @return the isArchiveEnabled value
+ */
+ public Boolean isArchiveEnabled() {
+ return this.isArchiveEnabled;
+ }
+
+ /**
+ * Set the value that indicates whether archiving is enabled or not.
+ *
+ * @param isArchiveEnabled the isArchiveEnabled value to set
+ * @return the RunInner object itself.
+ */
+ public RunInner withIsArchiveEnabled(Boolean isArchiveEnabled) {
+ this.isArchiveEnabled = isArchiveEnabled;
+ return this;
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunsImpl.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunsImpl.java
new file mode 100644
index 000000000000..be070d16d75a
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunsImpl.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ *
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Runs;
+import rx.Observable;
+import rx.functions.Func1;
+import com.microsoft.azure.Page;
+import rx.Completable;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.RunGetLogResult;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Run;
+
+class RunsImpl extends WrapperImpl implements Runs {
+ private final ContainerRegistryManager manager;
+
+ RunsImpl(ContainerRegistryManager manager) {
+ super(manager.inner().runs());
+ this.manager = manager;
+ }
+
+ public ContainerRegistryManager manager() {
+ return this.manager;
+ }
+
+ private RunImpl wrapModel(RunInner inner) {
+ return new RunImpl(inner, manager());
+ }
+
+ @Override
+ public Observable getLogSasUrlAsync(String resourceGroupName, String registryName, String runId) {
+ RunsInner client = this.inner();
+ return client.getLogSasUrlAsync(resourceGroupName, registryName, runId)
+ .map(new Func1() {
+ @Override
+ public RunGetLogResult call(RunGetLogResultInner inner) {
+ return new RunGetLogResultImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Completable cancelAsync(String resourceGroupName, String registryName, String runId) {
+ RunsInner client = this.inner();
+ return client.cancelAsync(resourceGroupName, registryName, runId).toCompletable();
+ }
+
+ @Override
+ public Observable listAsync(final String resourceGroupName, final String registryName) {
+ RunsInner client = this.inner();
+ return client.listAsync(resourceGroupName, registryName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public Run call(RunInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+ @Override
+ public Observable getAsync(String resourceGroupName, String registryName, String runId) {
+ RunsInner client = this.inner();
+ return client.getAsync(resourceGroupName, registryName, runId)
+ .map(new Func1() {
+ @Override
+ public Run call(RunInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+}
diff --git a/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunsInner.java b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunsInner.java
new file mode 100644
index 000000000000..971e7de8e320
--- /dev/null
+++ b/containerregistry/resource-manager/v2019_06_01_preview/src/main/java/com/microsoft/azure/management/containerregistry/v2019_06_01_preview/implementation/RunsInner.java
@@ -0,0 +1,1163 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_06_01_preview.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.AzureServiceFuture;
+import com.microsoft.azure.CloudException;
+import com.microsoft.azure.ListOperationCallback;
+import com.microsoft.azure.management.containerregistry.v2019_06_01_preview.RunUpdateParameters;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.PagedList;
+import com.microsoft.rest.ServiceCallback;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import java.io.IOException;
+import java.util.List;
+import okhttp3.ResponseBody;
+import retrofit2.http.Body;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.PATCH;
+import retrofit2.http.Path;
+import retrofit2.http.POST;
+import retrofit2.http.Query;
+import retrofit2.http.Url;
+import retrofit2.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in Runs.
+ */
+public class RunsInner {
+ /** The Retrofit service to perform REST calls. */
+ private RunsService service;
+ /** The service client containing this operation class. */
+ private ContainerRegistryManagementClientImpl client;
+
+ /**
+ * Initializes an instance of RunsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public RunsInner(Retrofit retrofit, ContainerRegistryManagementClientImpl client) {
+ this.service = retrofit.create(RunsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for Runs to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface RunsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Runs list" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/runs")
+ Observable> list(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("registryName") String registryName, @Query("api-version") String apiVersion, @Query("$filter") String filter, @Query("$top") Integer top, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Runs get" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/runs/{runId}")
+ Observable> get(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("registryName") String registryName, @Path("runId") String runId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Runs update" })
+ @PATCH("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/runs/{runId}")
+ Observable> update(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("registryName") String registryName, @Path("runId") String runId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Body RunUpdateParameters runUpdateParameters, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Runs beginUpdate" })
+ @PATCH("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/runs/{runId}")
+ Observable> beginUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("registryName") String registryName, @Path("runId") String runId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Body RunUpdateParameters runUpdateParameters, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Runs getLogSasUrl" })
+ @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/runs/{runId}/listLogSasUrl")
+ Observable> getLogSasUrl(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("registryName") String registryName, @Path("runId") String runId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Runs cancel" })
+ @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/runs/{runId}/cancel")
+ Observable> cancel(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("registryName") String registryName, @Path("runId") String runId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Runs beginCancel" })
+ @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/runs/{runId}/cancel")
+ Observable> beginCancel(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("registryName") String registryName, @Path("runId") String runId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.containerregistry.v2019_06_01_preview.Runs listNext" })
+ @GET
+ Observable> listNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Gets all the runs for a registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the PagedList<RunInner> object if successful.
+ */
+ public PagedList list(final String resourceGroupName, final String registryName) {
+ ServiceResponse> response = listSinglePageAsync(resourceGroupName, registryName).toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Gets all the runs for a registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture> listAsync(final String resourceGroupName, final String registryName, final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listSinglePageAsync(resourceGroupName, registryName),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * Gets all the runs for a registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<RunInner> object
+ */
+ public Observable> listAsync(final String resourceGroupName, final String registryName) {
+ return listWithServiceResponseAsync(resourceGroupName, registryName)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Gets all the runs for a registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<RunInner> object
+ */
+ public Observable>> listWithServiceResponseAsync(final String resourceGroupName, final String registryName) {
+ return listSinglePageAsync(resourceGroupName, registryName)
+ .concatMap(new Func1>, Observable>>>() {
+ @Override
+ public Observable>> call(ServiceResponse> page) {
+ String nextPageLink = page.body().nextPageLink();
+ if (nextPageLink == null) {
+ return Observable.just(page);
+ }
+ return Observable.just(page).concatWith(listNextWithServiceResponseAsync(nextPageLink));
+ }
+ });
+ }
+
+ /**
+ * Gets all the runs for a registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<RunInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listSinglePageAsync(final String resourceGroupName, final String registryName) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (registryName == null) {
+ throw new IllegalArgumentException("Parameter registryName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ final String filter = null;
+ final Integer top = null;
+ return service.list(this.client.subscriptionId(), resourceGroupName, registryName, this.client.apiVersion(), filter, top, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response