diff --git a/sdk/containerregistry/mgmt-v2019_04_01/pom.xml b/sdk/containerregistry/mgmt-v2019_04_01/pom.xml
index d82789261124..1809a56626f6 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/pom.xml
+++ b/sdk/containerregistry/mgmt-v2019_04_01/pom.xml
@@ -11,11 +11,11 @@
com.microsoft.azure
azure-arm-parent
- 1.2.0
- ../../parents/azure-arm-parent
+ 1.1.0
+ ../../../pom.management.xml
azure-mgmt-containerregistry
- 1.0.0-beta-1
+ 1.0.0-beta
jar
Microsoft Azure SDK for ContainerRegistry Management
This package contains Microsoft ContainerRegistry Management SDK.
@@ -71,6 +71,8 @@
azure-arm-client-runtime
test-jar
test
+
+ 1.6.5
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Action.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Action.java
new file mode 100644
index 000000000000..ca1d0fff2f0e
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Action.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT 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_04_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for Action.
+ */
+public final class Action extends ExpandableStringEnum {
+ /** Static value Allow for Action. */
+ public static final Action ALLOW = fromString("Allow");
+
+ /**
+ * Creates or finds a Action from its string representation.
+ * @param name a name to look for
+ * @return the corresponding Action
+ */
+ @JsonCreator
+ public static Action fromString(String name) {
+ return fromString(name, Action.class);
+ }
+
+ /**
+ * @return known Action values
+ */
+ public static Collection values() {
+ return values(Action.class);
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Actor.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Actor.java
new file mode 100644
index 000000000000..7ac0ea6dfca7
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Actor.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The agent that initiated the event. For most situations, this could be from
+ * the authorization context of the request.
+ */
+public class Actor {
+ /**
+ * The subject or username associated with the request context that
+ * generated the event.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Get the subject or username associated with the request context that generated the event.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the subject or username associated with the request context that generated the event.
+ *
+ * @param name the name value to set
+ * @return the Actor object itself.
+ */
+ public Actor withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/CallbackConfig.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/CallbackConfig.java
new file mode 100644
index 000000000000..3c10aea5a69a
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/CallbackConfig.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_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.ContainerRegistryManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.CallbackConfigInner;
+import java.util.Map;
+
+/**
+ * Type representing CallbackConfig.
+ */
+public interface CallbackConfig extends HasInner, HasManager {
+ /**
+ * @return the customHeaders value.
+ */
+ Map customHeaders();
+
+ /**
+ * @return the serviceUri value.
+ */
+ String serviceUri();
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DefaultAction.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DefaultAction.java
new file mode 100644
index 000000000000..1272dc91ef02
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DefaultAction.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_04_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for DefaultAction.
+ */
+public final class DefaultAction extends ExpandableStringEnum {
+ /** Static value Allow for DefaultAction. */
+ public static final DefaultAction ALLOW = fromString("Allow");
+
+ /** Static value Deny for DefaultAction. */
+ public static final DefaultAction DENY = fromString("Deny");
+
+ /**
+ * Creates or finds a DefaultAction from its string representation.
+ * @param name a name to look for
+ * @return the corresponding DefaultAction
+ */
+ @JsonCreator
+ public static DefaultAction fromString(String name) {
+ return fromString(name, DefaultAction.class);
+ }
+
+ /**
+ * @return known DefaultAction values
+ */
+ public static Collection values() {
+ return values(DefaultAction.class);
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DockerBuildRequest.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DockerBuildRequest.java
index 7c3d78867cad..aa79ec1391ca 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DockerBuildRequest.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DockerBuildRequest.java
@@ -16,7 +16,7 @@
/**
* The parameters for a docker quick build.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DockerBuildRequest.class)
@JsonTypeName("DockerBuildRequest")
public class DockerBuildRequest extends RunRequest {
/**
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DockerBuildStep.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DockerBuildStep.java
index 9e97052e5454..0ce416cd198b 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DockerBuildStep.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DockerBuildStep.java
@@ -16,7 +16,7 @@
/**
* The Docker build step.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DockerBuildStep.class)
@JsonTypeName("Docker")
public class DockerBuildStep extends TaskStepProperties {
/**
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DockerBuildStepUpdateParameters.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DockerBuildStepUpdateParameters.java
index 49fdd5ee62cc..af302f7ab563 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DockerBuildStepUpdateParameters.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/DockerBuildStepUpdateParameters.java
@@ -16,7 +16,7 @@
/**
* The properties for updating a docker build step.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DockerBuildStepUpdateParameters.class)
@JsonTypeName("Docker")
public class DockerBuildStepUpdateParameters extends TaskStepUpdateParameters {
/**
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EncodedTaskRunRequest.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EncodedTaskRunRequest.java
index 1eb1ac8ca4e0..4a20542c741c 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EncodedTaskRunRequest.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EncodedTaskRunRequest.java
@@ -16,7 +16,7 @@
/**
* The parameters for a quick task run request.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = EncodedTaskRunRequest.class)
@JsonTypeName("EncodedTaskRunRequest")
public class EncodedTaskRunRequest extends RunRequest {
/**
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EncodedTaskStep.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EncodedTaskStep.java
index ce127ea8aec9..dcaecd0769ed 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EncodedTaskStep.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EncodedTaskStep.java
@@ -16,7 +16,7 @@
/**
* The properties of a encoded task step.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = EncodedTaskStep.class)
@JsonTypeName("EncodedTask")
public class EncodedTaskStep extends TaskStepProperties {
/**
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EncodedTaskStepUpdateParameters.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EncodedTaskStepUpdateParameters.java
index c12676d1bcda..3b44edf86f1f 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EncodedTaskStepUpdateParameters.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EncodedTaskStepUpdateParameters.java
@@ -16,7 +16,7 @@
/**
* The properties for updating encoded task step.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = EncodedTaskStepUpdateParameters.class)
@JsonTypeName("EncodedTask")
public class EncodedTaskStepUpdateParameters extends TaskStepUpdateParameters {
/**
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Event.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Event.java
new file mode 100644
index 000000000000..0f0123577cba
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Event.java
@@ -0,0 +1,35 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.ContainerRegistryManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.EventInner;
+
+/**
+ * Type representing Event.
+ */
+public interface Event extends HasInner, HasManager {
+ /**
+ * @return the eventRequestMessage value.
+ */
+ EventRequestMessage eventRequestMessage();
+
+ /**
+ * @return the eventResponseMessage value.
+ */
+ EventResponseMessage eventResponseMessage();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EventContent.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EventContent.java
new file mode 100644
index 000000000000..3e259d539372
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EventContent.java
@@ -0,0 +1,202 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT 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_04_01;
+
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The content of the event request message.
+ */
+public class EventContent {
+ /**
+ * The event ID.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /**
+ * The time at which the event occurred.
+ */
+ @JsonProperty(value = "timestamp")
+ private DateTime timestamp;
+
+ /**
+ * The action that encompasses the provided event.
+ */
+ @JsonProperty(value = "action")
+ private String action;
+
+ /**
+ * The target of the event.
+ */
+ @JsonProperty(value = "target")
+ private Target target;
+
+ /**
+ * The request that generated the event.
+ */
+ @JsonProperty(value = "request")
+ private Request request;
+
+ /**
+ * The agent that initiated the event. For most situations, this could be
+ * from the authorization context of the request.
+ */
+ @JsonProperty(value = "actor")
+ private Actor actor;
+
+ /**
+ * The registry node that generated the event. Put differently, while the
+ * actor initiates the event, the source generates it.
+ */
+ @JsonProperty(value = "source")
+ private Source source;
+
+ /**
+ * Get the event ID.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the event ID.
+ *
+ * @param id the id value to set
+ * @return the EventContent object itself.
+ */
+ public EventContent withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the time at which the event occurred.
+ *
+ * @return the timestamp value
+ */
+ public DateTime timestamp() {
+ return this.timestamp;
+ }
+
+ /**
+ * Set the time at which the event occurred.
+ *
+ * @param timestamp the timestamp value to set
+ * @return the EventContent object itself.
+ */
+ public EventContent withTimestamp(DateTime timestamp) {
+ this.timestamp = timestamp;
+ return this;
+ }
+
+ /**
+ * Get the action that encompasses the provided event.
+ *
+ * @return the action value
+ */
+ public String action() {
+ return this.action;
+ }
+
+ /**
+ * Set the action that encompasses the provided event.
+ *
+ * @param action the action value to set
+ * @return the EventContent object itself.
+ */
+ public EventContent withAction(String action) {
+ this.action = action;
+ return this;
+ }
+
+ /**
+ * Get the target of the event.
+ *
+ * @return the target value
+ */
+ public Target target() {
+ return this.target;
+ }
+
+ /**
+ * Set the target of the event.
+ *
+ * @param target the target value to set
+ * @return the EventContent object itself.
+ */
+ public EventContent withTarget(Target target) {
+ this.target = target;
+ return this;
+ }
+
+ /**
+ * Get the request that generated the event.
+ *
+ * @return the request value
+ */
+ public Request request() {
+ return this.request;
+ }
+
+ /**
+ * Set the request that generated the event.
+ *
+ * @param request the request value to set
+ * @return the EventContent object itself.
+ */
+ public EventContent withRequest(Request request) {
+ this.request = request;
+ return this;
+ }
+
+ /**
+ * Get the agent that initiated the event. For most situations, this could be from the authorization context of the request.
+ *
+ * @return the actor value
+ */
+ public Actor actor() {
+ return this.actor;
+ }
+
+ /**
+ * Set the agent that initiated the event. For most situations, this could be from the authorization context of the request.
+ *
+ * @param actor the actor value to set
+ * @return the EventContent object itself.
+ */
+ public EventContent withActor(Actor actor) {
+ this.actor = actor;
+ return this;
+ }
+
+ /**
+ * Get the registry node that generated the event. Put differently, while the actor initiates the event, the source generates it.
+ *
+ * @return the source value
+ */
+ public Source source() {
+ return this.source;
+ }
+
+ /**
+ * Set the registry node that generated the event. Put differently, while the actor initiates the event, the source generates it.
+ *
+ * @param source the source value to set
+ * @return the EventContent object itself.
+ */
+ public EventContent withSource(Source source) {
+ this.source = source;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EventInfo.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EventInfo.java
new file mode 100644
index 000000000000..ef1c41fb408d
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EventInfo.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_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.ContainerRegistryManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.EventInfoInner;
+
+/**
+ * Type representing EventInfo.
+ */
+public interface EventInfo extends HasInner, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EventRequestMessage.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EventRequestMessage.java
new file mode 100644
index 000000000000..3b0315c9eb18
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EventRequestMessage.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_04_01;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The event request message sent to the service URI.
+ */
+public class EventRequestMessage {
+ /**
+ * The content of the event request message.
+ */
+ @JsonProperty(value = "content")
+ private EventContent content;
+
+ /**
+ * The headers of the event request message.
+ */
+ @JsonProperty(value = "headers")
+ private Map headers;
+
+ /**
+ * The HTTP method used to send the event request message.
+ */
+ @JsonProperty(value = "method")
+ private String method;
+
+ /**
+ * The URI used to send the event request message.
+ */
+ @JsonProperty(value = "requestUri")
+ private String requestUri;
+
+ /**
+ * The HTTP message version.
+ */
+ @JsonProperty(value = "version")
+ private String version;
+
+ /**
+ * Get the content of the event request message.
+ *
+ * @return the content value
+ */
+ public EventContent content() {
+ return this.content;
+ }
+
+ /**
+ * Set the content of the event request message.
+ *
+ * @param content the content value to set
+ * @return the EventRequestMessage object itself.
+ */
+ public EventRequestMessage withContent(EventContent content) {
+ this.content = content;
+ return this;
+ }
+
+ /**
+ * Get the headers of the event request message.
+ *
+ * @return the headers value
+ */
+ public Map headers() {
+ return this.headers;
+ }
+
+ /**
+ * Set the headers of the event request message.
+ *
+ * @param headers the headers value to set
+ * @return the EventRequestMessage object itself.
+ */
+ public EventRequestMessage withHeaders(Map headers) {
+ this.headers = headers;
+ return this;
+ }
+
+ /**
+ * Get the HTTP method used to send the event request message.
+ *
+ * @return the method value
+ */
+ public String method() {
+ return this.method;
+ }
+
+ /**
+ * Set the HTTP method used to send the event request message.
+ *
+ * @param method the method value to set
+ * @return the EventRequestMessage object itself.
+ */
+ public EventRequestMessage withMethod(String method) {
+ this.method = method;
+ return this;
+ }
+
+ /**
+ * Get the URI used to send the event request message.
+ *
+ * @return the requestUri value
+ */
+ public String requestUri() {
+ return this.requestUri;
+ }
+
+ /**
+ * Set the URI used to send the event request message.
+ *
+ * @param requestUri the requestUri value to set
+ * @return the EventRequestMessage object itself.
+ */
+ public EventRequestMessage withRequestUri(String requestUri) {
+ this.requestUri = requestUri;
+ return this;
+ }
+
+ /**
+ * Get the HTTP message version.
+ *
+ * @return the version value
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Set the HTTP message version.
+ *
+ * @param version the version value to set
+ * @return the EventRequestMessage object itself.
+ */
+ public EventRequestMessage withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EventResponseMessage.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EventResponseMessage.java
new file mode 100644
index 000000000000..9c1aafeaddbd
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/EventResponseMessage.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_04_01;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The event response message received from the service URI.
+ */
+public class EventResponseMessage {
+ /**
+ * The content of the event response message.
+ */
+ @JsonProperty(value = "content")
+ private String content;
+
+ /**
+ * The headers of the event response message.
+ */
+ @JsonProperty(value = "headers")
+ private Map headers;
+
+ /**
+ * The reason phrase of the event response message.
+ */
+ @JsonProperty(value = "reasonPhrase")
+ private String reasonPhrase;
+
+ /**
+ * The status code of the event response message.
+ */
+ @JsonProperty(value = "statusCode")
+ private String statusCode;
+
+ /**
+ * The HTTP message version.
+ */
+ @JsonProperty(value = "version")
+ private String version;
+
+ /**
+ * Get the content of the event response message.
+ *
+ * @return the content value
+ */
+ public String content() {
+ return this.content;
+ }
+
+ /**
+ * Set the content of the event response message.
+ *
+ * @param content the content value to set
+ * @return the EventResponseMessage object itself.
+ */
+ public EventResponseMessage withContent(String content) {
+ this.content = content;
+ return this;
+ }
+
+ /**
+ * Get the headers of the event response message.
+ *
+ * @return the headers value
+ */
+ public Map headers() {
+ return this.headers;
+ }
+
+ /**
+ * Set the headers of the event response message.
+ *
+ * @param headers the headers value to set
+ * @return the EventResponseMessage object itself.
+ */
+ public EventResponseMessage withHeaders(Map headers) {
+ this.headers = headers;
+ return this;
+ }
+
+ /**
+ * Get the reason phrase of the event response message.
+ *
+ * @return the reasonPhrase value
+ */
+ public String reasonPhrase() {
+ return this.reasonPhrase;
+ }
+
+ /**
+ * Set the reason phrase of the event response message.
+ *
+ * @param reasonPhrase the reasonPhrase value to set
+ * @return the EventResponseMessage object itself.
+ */
+ public EventResponseMessage withReasonPhrase(String reasonPhrase) {
+ this.reasonPhrase = reasonPhrase;
+ return this;
+ }
+
+ /**
+ * Get the status code of the event response message.
+ *
+ * @return the statusCode value
+ */
+ public String statusCode() {
+ return this.statusCode;
+ }
+
+ /**
+ * Set the status code of the event response message.
+ *
+ * @param statusCode the statusCode value to set
+ * @return the EventResponseMessage object itself.
+ */
+ public EventResponseMessage withStatusCode(String statusCode) {
+ this.statusCode = statusCode;
+ return this;
+ }
+
+ /**
+ * Get the HTTP message version.
+ *
+ * @return the version value
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Set the HTTP message version.
+ *
+ * @param version the version value to set
+ * @return the EventResponseMessage object itself.
+ */
+ public EventResponseMessage withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/FileTaskRunRequest.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/FileTaskRunRequest.java
index 76243a1a6fae..c28c0492eca3 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/FileTaskRunRequest.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/FileTaskRunRequest.java
@@ -16,7 +16,7 @@
/**
* The request parameters for a scheduling run against a task file.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = FileTaskRunRequest.class)
@JsonTypeName("FileTaskRunRequest")
public class FileTaskRunRequest extends RunRequest {
/**
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/FileTaskStep.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/FileTaskStep.java
index 85ce43007095..ed3c0d9ca6ba 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/FileTaskStep.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/FileTaskStep.java
@@ -16,7 +16,7 @@
/**
* The properties of a task step.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = FileTaskStep.class)
@JsonTypeName("FileTask")
public class FileTaskStep extends TaskStepProperties {
/**
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/FileTaskStepUpdateParameters.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/FileTaskStepUpdateParameters.java
index 4f5f583c746f..9cddde5a1145 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/FileTaskStepUpdateParameters.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/FileTaskStepUpdateParameters.java
@@ -16,7 +16,7 @@
/**
* The properties of updating a task step.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = FileTaskStepUpdateParameters.class)
@JsonTypeName("FileTask")
public class FileTaskStepUpdateParameters extends TaskStepUpdateParameters {
/**
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/IPRule.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/IPRule.java
new file mode 100644
index 000000000000..69cfec448971
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/IPRule.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * IP rule with specific IP or IP range in CIDR format.
+ */
+public class IPRule {
+ /**
+ * The action of IP ACL rule. Possible values include: 'Allow'.
+ */
+ @JsonProperty(value = "action")
+ private Action action;
+
+ /**
+ * Specifies the IP or IP range in CIDR format. Only IPV4 address is
+ * allowed.
+ */
+ @JsonProperty(value = "value", required = true)
+ private String iPAddressOrRange;
+
+ /**
+ * Get the action of IP ACL rule. Possible values include: 'Allow'.
+ *
+ * @return the action value
+ */
+ public Action action() {
+ return this.action;
+ }
+
+ /**
+ * Set the action of IP ACL rule. Possible values include: 'Allow'.
+ *
+ * @param action the action value to set
+ * @return the IPRule object itself.
+ */
+ public IPRule withAction(Action action) {
+ this.action = action;
+ return this;
+ }
+
+ /**
+ * Get specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.
+ *
+ * @return the iPAddressOrRange value
+ */
+ public String iPAddressOrRange() {
+ return this.iPAddressOrRange;
+ }
+
+ /**
+ * Set specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.
+ *
+ * @param iPAddressOrRange the iPAddressOrRange value to set
+ * @return the IPRule object itself.
+ */
+ public IPRule withIPAddressOrRange(String iPAddressOrRange) {
+ this.iPAddressOrRange = iPAddressOrRange;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ImportImageParameters.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ImportImageParameters.java
new file mode 100644
index 000000000000..2c2d7f0f636e
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ImportImageParameters.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_04_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The ImportImageParameters model.
+ */
+public class ImportImageParameters {
+ /**
+ * The source of the image.
+ */
+ @JsonProperty(value = "source", required = true)
+ private ImportSource source;
+
+ /**
+ * List of strings of the form repo[:tag]. When tag is omitted the source
+ * will be used (or 'latest' if source tag is also omitted).
+ */
+ @JsonProperty(value = "targetTags")
+ private List targetTags;
+
+ /**
+ * List of strings of repository names to do a manifest only copy. No tag
+ * will be created.
+ */
+ @JsonProperty(value = "untaggedTargetRepositories")
+ private List untaggedTargetRepositories;
+
+ /**
+ * When Force, any existing target tags will be overwritten. When NoForce,
+ * any existing target tags will fail the operation before any copying
+ * begins. Possible values include: 'NoForce', 'Force'.
+ */
+ @JsonProperty(value = "mode")
+ private ImportMode mode;
+
+ /**
+ * Get the source of the image.
+ *
+ * @return the source value
+ */
+ public ImportSource source() {
+ return this.source;
+ }
+
+ /**
+ * Set the source of the image.
+ *
+ * @param source the source value to set
+ * @return the ImportImageParameters object itself.
+ */
+ public ImportImageParameters withSource(ImportSource source) {
+ this.source = source;
+ return this;
+ }
+
+ /**
+ * Get list of strings of the form repo[:tag]. When tag is omitted the source will be used (or 'latest' if source tag is also omitted).
+ *
+ * @return the targetTags value
+ */
+ public List targetTags() {
+ return this.targetTags;
+ }
+
+ /**
+ * Set list of strings of the form repo[:tag]. When tag is omitted the source will be used (or 'latest' if source tag is also omitted).
+ *
+ * @param targetTags the targetTags value to set
+ * @return the ImportImageParameters object itself.
+ */
+ public ImportImageParameters withTargetTags(List targetTags) {
+ this.targetTags = targetTags;
+ return this;
+ }
+
+ /**
+ * Get list of strings of repository names to do a manifest only copy. No tag will be created.
+ *
+ * @return the untaggedTargetRepositories value
+ */
+ public List untaggedTargetRepositories() {
+ return this.untaggedTargetRepositories;
+ }
+
+ /**
+ * Set list of strings of repository names to do a manifest only copy. No tag will be created.
+ *
+ * @param untaggedTargetRepositories the untaggedTargetRepositories value to set
+ * @return the ImportImageParameters object itself.
+ */
+ public ImportImageParameters withUntaggedTargetRepositories(List untaggedTargetRepositories) {
+ this.untaggedTargetRepositories = untaggedTargetRepositories;
+ return this;
+ }
+
+ /**
+ * Get when Force, any existing target tags will be overwritten. When NoForce, any existing target tags will fail the operation before any copying begins. Possible values include: 'NoForce', 'Force'.
+ *
+ * @return the mode value
+ */
+ public ImportMode mode() {
+ return this.mode;
+ }
+
+ /**
+ * Set when Force, any existing target tags will be overwritten. When NoForce, any existing target tags will fail the operation before any copying begins. Possible values include: 'NoForce', 'Force'.
+ *
+ * @param mode the mode value to set
+ * @return the ImportImageParameters object itself.
+ */
+ public ImportImageParameters withMode(ImportMode mode) {
+ this.mode = mode;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ImportMode.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ImportMode.java
new file mode 100644
index 000000000000..3e7ee4d20359
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ImportMode.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_04_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ImportMode.
+ */
+public final class ImportMode extends ExpandableStringEnum {
+ /** Static value NoForce for ImportMode. */
+ public static final ImportMode NO_FORCE = fromString("NoForce");
+
+ /** Static value Force for ImportMode. */
+ public static final ImportMode FORCE = fromString("Force");
+
+ /**
+ * Creates or finds a ImportMode from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ImportMode
+ */
+ @JsonCreator
+ public static ImportMode fromString(String name) {
+ return fromString(name, ImportMode.class);
+ }
+
+ /**
+ * @return known ImportMode values
+ */
+ public static Collection values() {
+ return values(ImportMode.class);
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ImportSource.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ImportSource.java
new file mode 100644
index 000000000000..906cef0af406
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ImportSource.java
@@ -0,0 +1,132 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT 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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The ImportSource model.
+ */
+public class ImportSource {
+ /**
+ * The resource identifier of the source Azure Container Registry.
+ */
+ @JsonProperty(value = "resourceId")
+ private String resourceId;
+
+ /**
+ * The address of the source registry (e.g. 'mcr.microsoft.com').
+ */
+ @JsonProperty(value = "registryUri")
+ private String registryUri;
+
+ /**
+ * Credentials used when importing from a registry uri.
+ */
+ @JsonProperty(value = "credentials")
+ private ImportSourceCredentials credentials;
+
+ /**
+ * Repository name of the source image.
+ * Specify an image by repository ('hello-world'). This will use the
+ * 'latest' tag.
+ * Specify an image by tag ('hello-world:latest').
+ * Specify an image by sha256-based manifest digest
+ * ('hello-world@sha256:abc123').
+ */
+ @JsonProperty(value = "sourceImage", required = true)
+ private String sourceImage;
+
+ /**
+ * Get the resource identifier of the source Azure Container Registry.
+ *
+ * @return the resourceId value
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Set the resource identifier of the source Azure Container Registry.
+ *
+ * @param resourceId the resourceId value to set
+ * @return the ImportSource object itself.
+ */
+ public ImportSource withResourceId(String resourceId) {
+ this.resourceId = resourceId;
+ return this;
+ }
+
+ /**
+ * Get the address of the source registry (e.g. 'mcr.microsoft.com').
+ *
+ * @return the registryUri value
+ */
+ public String registryUri() {
+ return this.registryUri;
+ }
+
+ /**
+ * Set the address of the source registry (e.g. 'mcr.microsoft.com').
+ *
+ * @param registryUri the registryUri value to set
+ * @return the ImportSource object itself.
+ */
+ public ImportSource withRegistryUri(String registryUri) {
+ this.registryUri = registryUri;
+ return this;
+ }
+
+ /**
+ * Get credentials used when importing from a registry uri.
+ *
+ * @return the credentials value
+ */
+ public ImportSourceCredentials credentials() {
+ return this.credentials;
+ }
+
+ /**
+ * Set credentials used when importing from a registry uri.
+ *
+ * @param credentials the credentials value to set
+ * @return the ImportSource object itself.
+ */
+ public ImportSource withCredentials(ImportSourceCredentials credentials) {
+ this.credentials = credentials;
+ return this;
+ }
+
+ /**
+ * Get repository name of the source image.
+ Specify an image by repository ('hello-world'). This will use the 'latest' tag.
+ Specify an image by tag ('hello-world:latest').
+ Specify an image by sha256-based manifest digest ('hello-world@sha256:abc123').
+ *
+ * @return the sourceImage value
+ */
+ public String sourceImage() {
+ return this.sourceImage;
+ }
+
+ /**
+ * Set repository name of the source image.
+ Specify an image by repository ('hello-world'). This will use the 'latest' tag.
+ Specify an image by tag ('hello-world:latest').
+ Specify an image by sha256-based manifest digest ('hello-world@sha256:abc123').
+ *
+ * @param sourceImage the sourceImage value to set
+ * @return the ImportSource object itself.
+ */
+ public ImportSource withSourceImage(String sourceImage) {
+ this.sourceImage = sourceImage;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ImportSourceCredentials.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ImportSourceCredentials.java
new file mode 100644
index 000000000000..2849dd319162
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ImportSourceCredentials.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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The ImportSourceCredentials model.
+ */
+public class ImportSourceCredentials {
+ /**
+ * The username to authenticate with the source registry.
+ */
+ @JsonProperty(value = "username")
+ private String username;
+
+ /**
+ * The password used to authenticate with the source registry.
+ */
+ @JsonProperty(value = "password", required = true)
+ private String password;
+
+ /**
+ * Get the username to authenticate with the source registry.
+ *
+ * @return the username value
+ */
+ public String username() {
+ return this.username;
+ }
+
+ /**
+ * Set the username to authenticate with the source registry.
+ *
+ * @param username the username value to set
+ * @return the ImportSourceCredentials object itself.
+ */
+ public ImportSourceCredentials withUsername(String username) {
+ this.username = username;
+ return this;
+ }
+
+ /**
+ * Get the password used to authenticate with the source registry.
+ *
+ * @return the password value
+ */
+ public String password() {
+ return this.password;
+ }
+
+ /**
+ * Set the password used to authenticate with the source registry.
+ *
+ * @param password the password value to set
+ * @return the ImportSourceCredentials object itself.
+ */
+ public ImportSourceCredentials withPassword(String password) {
+ this.password = password;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/NetworkRuleSet.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/NetworkRuleSet.java
new file mode 100644
index 000000000000..02807b2b797a
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/NetworkRuleSet.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_04_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The network rule set for a container registry.
+ */
+public class NetworkRuleSet {
+ /**
+ * The default action of allow or deny when no other rules match. Possible
+ * values include: 'Allow', 'Deny'.
+ */
+ @JsonProperty(value = "defaultAction", required = true)
+ private DefaultAction defaultAction;
+
+ /**
+ * The virtual network rules.
+ */
+ @JsonProperty(value = "virtualNetworkRules")
+ private List virtualNetworkRules;
+
+ /**
+ * The IP ACL rules.
+ */
+ @JsonProperty(value = "ipRules")
+ private List ipRules;
+
+ /**
+ * Get the default action of allow or deny when no other rules match. Possible values include: 'Allow', 'Deny'.
+ *
+ * @return the defaultAction value
+ */
+ public DefaultAction defaultAction() {
+ return this.defaultAction;
+ }
+
+ /**
+ * Set the default action of allow or deny when no other rules match. Possible values include: 'Allow', 'Deny'.
+ *
+ * @param defaultAction the defaultAction value to set
+ * @return the NetworkRuleSet object itself.
+ */
+ public NetworkRuleSet withDefaultAction(DefaultAction defaultAction) {
+ this.defaultAction = defaultAction;
+ return this;
+ }
+
+ /**
+ * Get the virtual network rules.
+ *
+ * @return the virtualNetworkRules value
+ */
+ public List virtualNetworkRules() {
+ return this.virtualNetworkRules;
+ }
+
+ /**
+ * Set the virtual network rules.
+ *
+ * @param virtualNetworkRules the virtualNetworkRules value to set
+ * @return the NetworkRuleSet object itself.
+ */
+ public NetworkRuleSet withVirtualNetworkRules(List virtualNetworkRules) {
+ this.virtualNetworkRules = virtualNetworkRules;
+ return this;
+ }
+
+ /**
+ * Get the IP ACL rules.
+ *
+ * @return the ipRules value
+ */
+ public List ipRules() {
+ return this.ipRules;
+ }
+
+ /**
+ * Set the IP ACL rules.
+ *
+ * @param ipRules the ipRules value to set
+ * @return the NetworkRuleSet object itself.
+ */
+ public NetworkRuleSet withIpRules(List ipRules) {
+ this.ipRules = ipRules;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/OperationDefinition.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/OperationDefinition.java
new file mode 100644
index 000000000000..8a02d3c76f17
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/OperationDefinition.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_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.ContainerRegistryManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.OperationDefinitionInner;
+
+/**
+ * Type representing OperationDefinition.
+ */
+public interface OperationDefinition extends HasInner, HasManager {
+ /**
+ * @return the display value.
+ */
+ OperationDisplayDefinition display();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the origin value.
+ */
+ String origin();
+
+ /**
+ * @return the serviceSpecification value.
+ */
+ OperationServiceSpecificationDefinition serviceSpecification();
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/OperationDisplayDefinition.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/OperationDisplayDefinition.java
new file mode 100644
index 000000000000..75b34bf154c6
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/OperationDisplayDefinition.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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The display information for a container registry operation.
+ */
+public class OperationDisplayDefinition {
+ /**
+ * The resource provider name: Microsoft.ContainerRegistry.
+ */
+ @JsonProperty(value = "provider")
+ private String provider;
+
+ /**
+ * The resource on which the operation is performed.
+ */
+ @JsonProperty(value = "resource")
+ private String resource;
+
+ /**
+ * The operation that users can perform.
+ */
+ @JsonProperty(value = "operation")
+ private String operation;
+
+ /**
+ * The description for the operation.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /**
+ * Get the resource provider name: Microsoft.ContainerRegistry.
+ *
+ * @return the provider value
+ */
+ public String provider() {
+ return this.provider;
+ }
+
+ /**
+ * Set the resource provider name: Microsoft.ContainerRegistry.
+ *
+ * @param provider the provider value to set
+ * @return the OperationDisplayDefinition object itself.
+ */
+ public OperationDisplayDefinition withProvider(String provider) {
+ this.provider = provider;
+ return this;
+ }
+
+ /**
+ * Get the resource on which the operation is performed.
+ *
+ * @return the resource value
+ */
+ public String resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set the resource on which the operation is performed.
+ *
+ * @param resource the resource value to set
+ * @return the OperationDisplayDefinition object itself.
+ */
+ public OperationDisplayDefinition withResource(String resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get the operation that users can perform.
+ *
+ * @return the operation value
+ */
+ public String operation() {
+ return this.operation;
+ }
+
+ /**
+ * Set the operation that users can perform.
+ *
+ * @param operation the operation value to set
+ * @return the OperationDisplayDefinition object itself.
+ */
+ public OperationDisplayDefinition withOperation(String operation) {
+ this.operation = operation;
+ return this;
+ }
+
+ /**
+ * Get the description for the operation.
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description for the operation.
+ *
+ * @param description the description value to set
+ * @return the OperationDisplayDefinition object itself.
+ */
+ public OperationDisplayDefinition withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/OperationMetricSpecificationDefinition.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/OperationMetricSpecificationDefinition.java
new file mode 100644
index 000000000000..79809f132191
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/OperationMetricSpecificationDefinition.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT 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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The definition of Azure Monitoring metric.
+ */
+public class OperationMetricSpecificationDefinition {
+ /**
+ * Metric name.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Metric display name.
+ */
+ @JsonProperty(value = "displayName")
+ private String displayName;
+
+ /**
+ * Metric description.
+ */
+ @JsonProperty(value = "displayDescription")
+ private String displayDescription;
+
+ /**
+ * Metric unit.
+ */
+ @JsonProperty(value = "unit")
+ private String unit;
+
+ /**
+ * Metric aggregation type.
+ */
+ @JsonProperty(value = "aggregationType")
+ private String aggregationType;
+
+ /**
+ * Internal metric name.
+ */
+ @JsonProperty(value = "internalMetricName")
+ private String internalMetricName;
+
+ /**
+ * Get metric name.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set metric name.
+ *
+ * @param name the name value to set
+ * @return the OperationMetricSpecificationDefinition object itself.
+ */
+ public OperationMetricSpecificationDefinition withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get metric display name.
+ *
+ * @return the displayName value
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set metric display name.
+ *
+ * @param displayName the displayName value to set
+ * @return the OperationMetricSpecificationDefinition object itself.
+ */
+ public OperationMetricSpecificationDefinition withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get metric description.
+ *
+ * @return the displayDescription value
+ */
+ public String displayDescription() {
+ return this.displayDescription;
+ }
+
+ /**
+ * Set metric description.
+ *
+ * @param displayDescription the displayDescription value to set
+ * @return the OperationMetricSpecificationDefinition object itself.
+ */
+ public OperationMetricSpecificationDefinition withDisplayDescription(String displayDescription) {
+ this.displayDescription = displayDescription;
+ return this;
+ }
+
+ /**
+ * Get metric unit.
+ *
+ * @return the unit value
+ */
+ public String unit() {
+ return this.unit;
+ }
+
+ /**
+ * Set metric unit.
+ *
+ * @param unit the unit value to set
+ * @return the OperationMetricSpecificationDefinition object itself.
+ */
+ public OperationMetricSpecificationDefinition withUnit(String unit) {
+ this.unit = unit;
+ return this;
+ }
+
+ /**
+ * Get metric aggregation type.
+ *
+ * @return the aggregationType value
+ */
+ public String aggregationType() {
+ return this.aggregationType;
+ }
+
+ /**
+ * Set metric aggregation type.
+ *
+ * @param aggregationType the aggregationType value to set
+ * @return the OperationMetricSpecificationDefinition object itself.
+ */
+ public OperationMetricSpecificationDefinition withAggregationType(String aggregationType) {
+ this.aggregationType = aggregationType;
+ return this;
+ }
+
+ /**
+ * Get internal metric name.
+ *
+ * @return the internalMetricName value
+ */
+ public String internalMetricName() {
+ return this.internalMetricName;
+ }
+
+ /**
+ * Set internal metric name.
+ *
+ * @param internalMetricName the internalMetricName value to set
+ * @return the OperationMetricSpecificationDefinition object itself.
+ */
+ public OperationMetricSpecificationDefinition withInternalMetricName(String internalMetricName) {
+ this.internalMetricName = internalMetricName;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/OperationServiceSpecificationDefinition.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/OperationServiceSpecificationDefinition.java
new file mode 100644
index 000000000000..b7b56a5c89d9
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/OperationServiceSpecificationDefinition.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_04_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The definition of Azure Monitoring metrics list.
+ */
+public class OperationServiceSpecificationDefinition {
+ /**
+ * A list of Azure Monitoring metrics definition.
+ */
+ @JsonProperty(value = "metricSpecifications")
+ private List metricSpecifications;
+
+ /**
+ * Get a list of Azure Monitoring metrics definition.
+ *
+ * @return the metricSpecifications value
+ */
+ public List metricSpecifications() {
+ return this.metricSpecifications;
+ }
+
+ /**
+ * Set a list of Azure Monitoring metrics definition.
+ *
+ * @param metricSpecifications the metricSpecifications value to set
+ * @return the OperationServiceSpecificationDefinition object itself.
+ */
+ public OperationServiceSpecificationDefinition withMetricSpecifications(List metricSpecifications) {
+ this.metricSpecifications = metricSpecifications;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Operations.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Operations.java
new file mode 100644
index 000000000000..5c01ced9a6e3
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Operations.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.OperationsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Operations.
+ */
+public interface Operations extends HasInner {
+ /**
+ * Lists all of the available Azure Container Registry REST API operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/PasswordName.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/PasswordName.java
new file mode 100644
index 000000000000..510a2ba47d06
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/PasswordName.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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for PasswordName.
+ */
+public enum PasswordName {
+ /** Enum value password. */
+ PASSWORD("password"),
+
+ /** Enum value password2. */
+ PASSWORD2("password2");
+
+ /** The actual serialized value for a PasswordName instance. */
+ private String value;
+
+ PasswordName(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a PasswordName instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed PasswordName object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static PasswordName fromString(String value) {
+ PasswordName[] items = PasswordName.values();
+ for (PasswordName item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/PolicyStatus.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/PolicyStatus.java
new file mode 100644
index 000000000000..ffd45718f9ec
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/PolicyStatus.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_04_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for PolicyStatus.
+ */
+public final class PolicyStatus extends ExpandableStringEnum {
+ /** Static value enabled for PolicyStatus. */
+ public static final PolicyStatus ENABLED = fromString("enabled");
+
+ /** Static value disabled for PolicyStatus. */
+ public static final PolicyStatus DISABLED = fromString("disabled");
+
+ /**
+ * Creates or finds a PolicyStatus from its string representation.
+ * @param name a name to look for
+ * @return the corresponding PolicyStatus
+ */
+ @JsonCreator
+ public static PolicyStatus fromString(String name) {
+ return fromString(name, PolicyStatus.class);
+ }
+
+ /**
+ * @return known PolicyStatus values
+ */
+ public static Collection values() {
+ return values(PolicyStatus.class);
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/QuarantinePolicy.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/QuarantinePolicy.java
new file mode 100644
index 000000000000..a33fb7aac073
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/QuarantinePolicy.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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * An object that represents quarantine policy for a container registry.
+ */
+public class QuarantinePolicy {
+ /**
+ * The value that indicates whether the policy is enabled or not. Possible
+ * values include: 'enabled', 'disabled'.
+ */
+ @JsonProperty(value = "status")
+ private PolicyStatus status;
+
+ /**
+ * Get the value that indicates whether the policy is enabled or not. Possible values include: 'enabled', 'disabled'.
+ *
+ * @return the status value
+ */
+ public PolicyStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the value that indicates whether the policy is enabled or not. Possible values include: 'enabled', 'disabled'.
+ *
+ * @param status the status value to set
+ * @return the QuarantinePolicy object itself.
+ */
+ public QuarantinePolicy withStatus(PolicyStatus status) {
+ this.status = status;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegenerateCredentialParameters.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegenerateCredentialParameters.java
new file mode 100644
index 000000000000..30d62dcbcd96
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegenerateCredentialParameters.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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The parameters used to regenerate the login credential.
+ */
+public class RegenerateCredentialParameters {
+ /**
+ * Specifies name of the password which should be regenerated -- password
+ * or password2. Possible values include: 'password', 'password2'.
+ */
+ @JsonProperty(value = "name", required = true)
+ private PasswordName name;
+
+ /**
+ * Get specifies name of the password which should be regenerated -- password or password2. Possible values include: 'password', 'password2'.
+ *
+ * @return the name value
+ */
+ public PasswordName name() {
+ return this.name;
+ }
+
+ /**
+ * Set specifies name of the password which should be regenerated -- password or password2. Possible values include: 'password', 'password2'.
+ *
+ * @param name the name value to set
+ * @return the RegenerateCredentialParameters object itself.
+ */
+ public RegenerateCredentialParameters withName(PasswordName name) {
+ this.name = name;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Registries.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Registries.java
index 62e6604496fb..8ca4dc46f66e 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Registries.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Registries.java
@@ -8,14 +8,65 @@
package com.microsoft.azure.management.containerregistry.v2019_04_01;
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup;
+import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion;
+import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup;
import rx.Observable;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import rx.Completable;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.RegistryPoliciesInner;
import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.RegistriesInner;
import com.microsoft.azure.arm.model.HasInner;
/**
* Type representing Registries.
*/
-public interface Registries extends HasInner {
+public interface Registries extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+ /**
+ * Copies an image to this container registry from the 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.
+ * @param parameters The parameters specifying the image to copy and the source container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable importImageAsync(String resourceGroupName, String registryName, ImportImageParameters parameters);
+
+ /**
+ * Lists the login credentials for the 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 listCredentialsAsync(String resourceGroupName, String registryName);
+
+ /**
+ * Regenerates one of the login credentials for the 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.
+ * @param name Specifies name of the password which should be regenerated -- password or password2. Possible values include: 'password', 'password2'
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable regenerateCredentialAsync(String resourceGroupName, String registryName, PasswordName name);
+
+ /**
+ * Updates the policies for the 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.
+ * @param registryPoliciesUpdateParameters The parameters for updating policies of a container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable updatePoliciesAsync(String resourceGroupName, String registryName, RegistryPoliciesInner registryPoliciesUpdateParameters);
+
/**
* Schedules a new run based on the request parameters and add it to the run queue.
*
@@ -37,4 +88,33 @@ public interface Registries extends HasInner {
*/
Observable getBuildSourceUploadUrlAsync(String resourceGroupName, String registryName);
+ /**
+ * Checks whether the container registry name is available for use. The name must contain only alphanumeric characters, be globally unique, and between 5 and 50 characters in length.
+ *
+ * @param name The name of the container registry.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable checkNameAvailabilityAsync(String name);
+
+ /**
+ * Gets the quota usages for the 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 listUsagesAsync(String resourceGroupName, String registryName);
+
+ /**
+ * Lists the policies for the 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 listPoliciesAsync(String resourceGroupName, String registryName);
+
}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Registry.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Registry.java
new file mode 100644
index 000000000000..d51bdee939a3
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Registry.java
@@ -0,0 +1,205 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.ContainerRegistryManager;
+import org.joda.time.DateTime;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.RegistryInner;
+
+/**
+ * Type representing Registry.
+ */
+public interface Registry extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the adminUserEnabled value.
+ */
+ Boolean adminUserEnabled();
+
+ /**
+ * @return the creationDate value.
+ */
+ DateTime creationDate();
+
+ /**
+ * @return the loginServer value.
+ */
+ String loginServer();
+
+ /**
+ * @return the networkRuleSet value.
+ */
+ NetworkRuleSet networkRuleSet();
+
+ /**
+ * @return the provisioningState value.
+ */
+ ProvisioningState provisioningState();
+
+ /**
+ * @return the sku value.
+ */
+ Sku sku();
+
+ /**
+ * @return the status value.
+ */
+ Status status();
+
+ /**
+ * @return the storageAccount value.
+ */
+ StorageAccountProperties storageAccount();
+
+ /**
+ * The entirety of the Registry definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithSku, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of Registry definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a Registry definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the Registry definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the registry definition allowing to specify Sku.
+ */
+ interface WithSku {
+ /**
+ * Specifies sku.
+ * @param sku The SKU of the container registry
+ * @return the next definition stage
+*/
+ WithCreate withSku(Sku sku);
+ }
+
+ /**
+ * The stage of the registry definition allowing to specify AdminUserEnabled.
+ */
+ interface WithAdminUserEnabled {
+ /**
+ * Specifies adminUserEnabled.
+ * @param adminUserEnabled The value that indicates whether the admin user is enabled
+ * @return the next definition stage
+ */
+ WithCreate withAdminUserEnabled(Boolean adminUserEnabled);
+ }
+
+ /**
+ * The stage of the registry definition allowing to specify NetworkRuleSet.
+ */
+ interface WithNetworkRuleSet {
+ /**
+ * Specifies networkRuleSet.
+ * @param networkRuleSet The network rule set for a container registry
+ * @return the next definition stage
+ */
+ WithCreate withNetworkRuleSet(NetworkRuleSet networkRuleSet);
+ }
+
+ /**
+ * The stage of the registry definition allowing to specify StorageAccount.
+ */
+ interface WithStorageAccount {
+ /**
+ * Specifies storageAccount.
+ * @param storageAccount The properties of the storage account for the container registry. Only applicable to Classic SKU
+ * @return the next definition stage
+ */
+ WithCreate withStorageAccount(StorageAccountProperties storageAccount);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithAdminUserEnabled, DefinitionStages.WithNetworkRuleSet, DefinitionStages.WithStorageAccount {
+ }
+ }
+ /**
+ * The template for a Registry update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithAdminUserEnabled, UpdateStages.WithNetworkRuleSet, UpdateStages.WithSku, UpdateStages.WithStorageAccount {
+ }
+
+ /**
+ * Grouping of Registry update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the registry update allowing to specify AdminUserEnabled.
+ */
+ interface WithAdminUserEnabled {
+ /**
+ * Specifies adminUserEnabled.
+ * @param adminUserEnabled The value that indicates whether the admin user is enabled
+ * @return the next update stage
+ */
+ Update withAdminUserEnabled(Boolean adminUserEnabled);
+ }
+
+ /**
+ * The stage of the registry update allowing to specify NetworkRuleSet.
+ */
+ interface WithNetworkRuleSet {
+ /**
+ * Specifies networkRuleSet.
+ * @param networkRuleSet The network rule set for a container registry
+ * @return the next update stage
+ */
+ Update withNetworkRuleSet(NetworkRuleSet networkRuleSet);
+ }
+
+ /**
+ * The stage of the registry update allowing to specify Sku.
+ */
+ interface WithSku {
+ /**
+ * Specifies sku.
+ * @param sku The SKU of the container registry
+ * @return the next update stage
+ */
+ Update withSku(Sku sku);
+ }
+
+ /**
+ * The stage of the registry update allowing to specify StorageAccount.
+ */
+ interface WithStorageAccount {
+ /**
+ * Specifies storageAccount.
+ * @param storageAccount The parameters of a storage account for the container registry. Only applicable to Classic SKU. If specified, the storage account must be in the same physical location as the container registry
+ * @return the next update stage
+ */
+ Update withStorageAccount(StorageAccountProperties storageAccount);
+ }
+
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryListCredentialsResult.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryListCredentialsResult.java
new file mode 100644
index 000000000000..fd16a426d0f7
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryListCredentialsResult.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_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.ContainerRegistryManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.RegistryListCredentialsResultInner;
+import java.util.List;
+
+/**
+ * Type representing RegistryListCredentialsResult.
+ */
+public interface RegistryListCredentialsResult extends HasInner, HasManager {
+ /**
+ * @return the passwords value.
+ */
+ List passwords();
+
+ /**
+ * @return the username value.
+ */
+ String username();
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryNameCheckRequest.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryNameCheckRequest.java
new file mode 100644
index 000000000000..988cf1bfadfa
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryNameCheckRequest.java
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT 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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * A request to check whether a container registry name is available.
+ */
+public class RegistryNameCheckRequest {
+ /**
+ * The name of the container registry.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * The resource type of the container registry. This field must be set to
+ * 'Microsoft.ContainerRegistry/registries'.
+ */
+ @JsonProperty(value = "type", required = true)
+ private String type;
+
+ /**
+ * Creates an instance of RegistryNameCheckRequest class.
+ * @param name the name of the container registry.
+ */
+ public RegistryNameCheckRequest() {
+ type = "Microsoft.ContainerRegistry/registries";
+ }
+
+ /**
+ * Get the name of the container registry.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the container registry.
+ *
+ * @param name the name value to set
+ * @return the RegistryNameCheckRequest object itself.
+ */
+ public RegistryNameCheckRequest withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the resource type of the container registry. This field must be set to 'Microsoft.ContainerRegistry/registries'.
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set the resource type of the container registry. This field must be set to 'Microsoft.ContainerRegistry/registries'.
+ *
+ * @param type the type value to set
+ * @return the RegistryNameCheckRequest object itself.
+ */
+ public RegistryNameCheckRequest withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryNameStatus.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryNameStatus.java
new file mode 100644
index 000000000000..d9a515ddd480
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryNameStatus.java
@@ -0,0 +1,35 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.ContainerRegistryManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.RegistryNameStatusInner;
+
+/**
+ * Type representing RegistryNameStatus.
+ */
+public interface RegistryNameStatus extends HasInner, HasManager {
+ /**
+ * @return the message value.
+ */
+ String message();
+
+ /**
+ * @return the nameAvailable value.
+ */
+ Boolean nameAvailable();
+
+ /**
+ * @return the reason value.
+ */
+ String reason();
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryPassword.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryPassword.java
new file mode 100644
index 000000000000..52266ab441b9
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryPassword.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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The login password for the container registry.
+ */
+public class RegistryPassword {
+ /**
+ * The password name. Possible values include: 'password', 'password2'.
+ */
+ @JsonProperty(value = "name")
+ private PasswordName name;
+
+ /**
+ * The password value.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /**
+ * Get the password name. Possible values include: 'password', 'password2'.
+ *
+ * @return the name value
+ */
+ public PasswordName name() {
+ return this.name;
+ }
+
+ /**
+ * Set the password name. Possible values include: 'password', 'password2'.
+ *
+ * @param name the name value to set
+ * @return the RegistryPassword object itself.
+ */
+ public RegistryPassword withName(PasswordName name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the password value.
+ *
+ * @return the value value
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the password value.
+ *
+ * @param value the value value to set
+ * @return the RegistryPassword object itself.
+ */
+ public RegistryPassword withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryPolicies.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryPolicies.java
new file mode 100644
index 000000000000..5c9a50e2e5d3
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryPolicies.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_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.ContainerRegistryManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.RegistryPoliciesInner;
+
+/**
+ * Type representing RegistryPolicies.
+ */
+public interface RegistryPolicies extends HasInner, HasManager {
+ /**
+ * @return the quarantinePolicy value.
+ */
+ QuarantinePolicy quarantinePolicy();
+
+ /**
+ * @return the trustPolicy value.
+ */
+ TrustPolicy trustPolicy();
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryUpdateParameters.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryUpdateParameters.java
new file mode 100644
index 000000000000..a074795e3544
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryUpdateParameters.java
@@ -0,0 +1,152 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * The parameters for updating a container registry.
+ */
+@JsonFlatten
+public class RegistryUpdateParameters {
+ /**
+ * The tags for the container registry.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * The SKU of the container registry.
+ */
+ @JsonProperty(value = "sku")
+ private Sku sku;
+
+ /**
+ * The value that indicates whether the admin user is enabled.
+ */
+ @JsonProperty(value = "properties.adminUserEnabled")
+ private Boolean adminUserEnabled;
+
+ /**
+ * The parameters of a storage account for the container registry. Only
+ * applicable to Classic SKU. If specified, the storage account must be in
+ * the same physical location as the container registry.
+ */
+ @JsonProperty(value = "properties.storageAccount")
+ private StorageAccountProperties storageAccount;
+
+ /**
+ * The network rule set for a container registry.
+ */
+ @JsonProperty(value = "properties.networkRuleSet")
+ private NetworkRuleSet networkRuleSet;
+
+ /**
+ * Get the tags for the container registry.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the tags for the container registry.
+ *
+ * @param tags the tags value to set
+ * @return the RegistryUpdateParameters object itself.
+ */
+ public RegistryUpdateParameters withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ /**
+ * Get the SKU of the container registry.
+ *
+ * @return the sku value
+ */
+ public Sku sku() {
+ return this.sku;
+ }
+
+ /**
+ * Set the SKU of the container registry.
+ *
+ * @param sku the sku value to set
+ * @return the RegistryUpdateParameters object itself.
+ */
+ public RegistryUpdateParameters withSku(Sku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /**
+ * Get the value that indicates whether the admin user is enabled.
+ *
+ * @return the adminUserEnabled value
+ */
+ public Boolean adminUserEnabled() {
+ return this.adminUserEnabled;
+ }
+
+ /**
+ * Set the value that indicates whether the admin user is enabled.
+ *
+ * @param adminUserEnabled the adminUserEnabled value to set
+ * @return the RegistryUpdateParameters object itself.
+ */
+ public RegistryUpdateParameters withAdminUserEnabled(Boolean adminUserEnabled) {
+ this.adminUserEnabled = adminUserEnabled;
+ return this;
+ }
+
+ /**
+ * Get the parameters of a storage account for the container registry. Only applicable to Classic SKU. If specified, the storage account must be in the same physical location as the container registry.
+ *
+ * @return the storageAccount value
+ */
+ public StorageAccountProperties storageAccount() {
+ return this.storageAccount;
+ }
+
+ /**
+ * Set the parameters of a storage account for the container registry. Only applicable to Classic SKU. If specified, the storage account must be in the same physical location as the container registry.
+ *
+ * @param storageAccount the storageAccount value to set
+ * @return the RegistryUpdateParameters object itself.
+ */
+ public RegistryUpdateParameters withStorageAccount(StorageAccountProperties storageAccount) {
+ this.storageAccount = storageAccount;
+ return this;
+ }
+
+ /**
+ * Get the network rule set for a container registry.
+ *
+ * @return the networkRuleSet value
+ */
+ public NetworkRuleSet networkRuleSet() {
+ return this.networkRuleSet;
+ }
+
+ /**
+ * Set the network rule set for a container registry.
+ *
+ * @param networkRuleSet the networkRuleSet value to set
+ * @return the RegistryUpdateParameters object itself.
+ */
+ public RegistryUpdateParameters withNetworkRuleSet(NetworkRuleSet networkRuleSet) {
+ this.networkRuleSet = networkRuleSet;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryUsage.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryUsage.java
new file mode 100644
index 000000000000..9d5bd90c6df0
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryUsage.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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The quota usage for a container registry.
+ */
+public class RegistryUsage {
+ /**
+ * The name of the usage.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * The limit of the usage.
+ */
+ @JsonProperty(value = "limit")
+ private Long limit;
+
+ /**
+ * The current value of the usage.
+ */
+ @JsonProperty(value = "currentValue")
+ private Long currentValue;
+
+ /**
+ * The unit of measurement. Possible values include: 'Count', 'Bytes'.
+ */
+ @JsonProperty(value = "unit")
+ private RegistryUsageUnit unit;
+
+ /**
+ * Get the name of the usage.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the usage.
+ *
+ * @param name the name value to set
+ * @return the RegistryUsage object itself.
+ */
+ public RegistryUsage withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the limit of the usage.
+ *
+ * @return the limit value
+ */
+ public Long limit() {
+ return this.limit;
+ }
+
+ /**
+ * Set the limit of the usage.
+ *
+ * @param limit the limit value to set
+ * @return the RegistryUsage object itself.
+ */
+ public RegistryUsage withLimit(Long limit) {
+ this.limit = limit;
+ return this;
+ }
+
+ /**
+ * Get the current value of the usage.
+ *
+ * @return the currentValue value
+ */
+ public Long currentValue() {
+ return this.currentValue;
+ }
+
+ /**
+ * Set the current value of the usage.
+ *
+ * @param currentValue the currentValue value to set
+ * @return the RegistryUsage object itself.
+ */
+ public RegistryUsage withCurrentValue(Long currentValue) {
+ this.currentValue = currentValue;
+ return this;
+ }
+
+ /**
+ * Get the unit of measurement. Possible values include: 'Count', 'Bytes'.
+ *
+ * @return the unit value
+ */
+ public RegistryUsageUnit unit() {
+ return this.unit;
+ }
+
+ /**
+ * Set the unit of measurement. Possible values include: 'Count', 'Bytes'.
+ *
+ * @param unit the unit value to set
+ * @return the RegistryUsage object itself.
+ */
+ public RegistryUsage withUnit(RegistryUsageUnit unit) {
+ this.unit = unit;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryUsageListResult.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryUsageListResult.java
new file mode 100644
index 000000000000..949cd7cb1fe5
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryUsageListResult.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.ContainerRegistryManager;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.RegistryUsageListResultInner;
+import java.util.List;
+
+/**
+ * Type representing RegistryUsageListResult.
+ */
+public interface RegistryUsageListResult extends HasInner, HasManager {
+ /**
+ * @return the value value.
+ */
+ List value();
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryUsageUnit.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryUsageUnit.java
new file mode 100644
index 000000000000..db9d7d1acd75
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RegistryUsageUnit.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_04_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for RegistryUsageUnit.
+ */
+public final class RegistryUsageUnit extends ExpandableStringEnum {
+ /** Static value Count for RegistryUsageUnit. */
+ public static final RegistryUsageUnit COUNT = fromString("Count");
+
+ /** Static value Bytes for RegistryUsageUnit. */
+ public static final RegistryUsageUnit BYTES = fromString("Bytes");
+
+ /**
+ * Creates or finds a RegistryUsageUnit from its string representation.
+ * @param name a name to look for
+ * @return the corresponding RegistryUsageUnit
+ */
+ @JsonCreator
+ public static RegistryUsageUnit fromString(String name) {
+ return fromString(name, RegistryUsageUnit.class);
+ }
+
+ /**
+ * @return known RegistryUsageUnit values
+ */
+ public static Collection values() {
+ return values(RegistryUsageUnit.class);
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Replication.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Replication.java
new file mode 100644
index 000000000000..9e17a41851a4
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Replication.java
@@ -0,0 +1,145 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT 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_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.ReplicationInner;
+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_04_01.implementation.ContainerRegistryManager;
+import java.util.Map;
+
+/**
+ * Type representing Replication.
+ */
+public interface Replication extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the provisioningState value.
+ */
+ ProvisioningState provisioningState();
+
+ /**
+ * @return the status value.
+ */
+ Status status();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the Replication definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithRegistry, DefinitionStages.WithLocation, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of Replication definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a Replication definition.
+ */
+ interface Blank extends WithRegistry {
+ }
+
+ /**
+ * The stage of the replication 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 replication 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
+ */
+ WithCreate withLocation(String location);
+ }
+
+ /**
+ * The stage of the replication 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 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.WithTags {
+ }
+ }
+ /**
+ * The template for a Replication update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithTags {
+ }
+
+ /**
+ * Grouping of Replication update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the replication update allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ * @param tags The tags of the resource
+ * @return the next update stage
+ */
+ Update withTags(Map tags);
+ }
+
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ReplicationUpdateParameters.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ReplicationUpdateParameters.java
new file mode 100644
index 000000000000..5436497677f3
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/ReplicationUpdateParameters.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_04_01;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The parameters for updating a replication.
+ */
+public class ReplicationUpdateParameters {
+ /**
+ * The tags for the replication.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * Get the tags for the replication.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the tags for the replication.
+ *
+ * @param tags the tags value to set
+ * @return the ReplicationUpdateParameters object itself.
+ */
+ public ReplicationUpdateParameters withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Replications.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Replications.java
new file mode 100644
index 000000000000..713332b27c37
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Replications.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_04_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.ReplicationsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Replications.
+ */
+public interface Replications extends SupportsCreating, HasInner {
+ /**
+ * Gets the properties of the specified replication.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String registryName, String replicationName);
+
+ /**
+ * Lists all the replications for the 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 replication from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param replicationName The name of the replication.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String registryName, String replicationName);
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Request.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Request.java
new file mode 100644
index 000000000000..0003f24cc2a5
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Request.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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The request that generated the event.
+ */
+public class Request {
+ /**
+ * The ID of the request that initiated the event.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /**
+ * The IP or hostname and possibly port of the client connection that
+ * initiated the event. This is the RemoteAddr from the standard http
+ * request.
+ */
+ @JsonProperty(value = "addr")
+ private String addr;
+
+ /**
+ * The externally accessible hostname of the registry instance, as
+ * specified by the http host header on incoming requests.
+ */
+ @JsonProperty(value = "host")
+ private String host;
+
+ /**
+ * The request method that generated the event.
+ */
+ @JsonProperty(value = "method")
+ private String method;
+
+ /**
+ * The user agent header of the request.
+ */
+ @JsonProperty(value = "useragent")
+ private String useragent;
+
+ /**
+ * Get the ID of the request that initiated the event.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the ID of the request that initiated the event.
+ *
+ * @param id the id value to set
+ * @return the Request object itself.
+ */
+ public Request withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request.
+ *
+ * @return the addr value
+ */
+ public String addr() {
+ return this.addr;
+ }
+
+ /**
+ * Set the IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request.
+ *
+ * @param addr the addr value to set
+ * @return the Request object itself.
+ */
+ public Request withAddr(String addr) {
+ this.addr = addr;
+ return this;
+ }
+
+ /**
+ * Get the externally accessible hostname of the registry instance, as specified by the http host header on incoming requests.
+ *
+ * @return the host value
+ */
+ public String host() {
+ return this.host;
+ }
+
+ /**
+ * Set the externally accessible hostname of the registry instance, as specified by the http host header on incoming requests.
+ *
+ * @param host the host value to set
+ * @return the Request object itself.
+ */
+ public Request withHost(String host) {
+ this.host = host;
+ return this;
+ }
+
+ /**
+ * Get the request method that generated the event.
+ *
+ * @return the method value
+ */
+ public String method() {
+ return this.method;
+ }
+
+ /**
+ * Set the request method that generated the event.
+ *
+ * @param method the method value to set
+ * @return the Request object itself.
+ */
+ public Request withMethod(String method) {
+ this.method = method;
+ return this;
+ }
+
+ /**
+ * Get the user agent header of the request.
+ *
+ * @return the useragent value
+ */
+ public String useragent() {
+ return this.useragent;
+ }
+
+ /**
+ * Set the user agent header of the request.
+ *
+ * @param useragent the useragent value to set
+ * @return the Request object itself.
+ */
+ public Request withUseragent(String useragent) {
+ this.useragent = useragent;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RunRequest.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RunRequest.java
index 45669f961ec7..34eea761e8cd 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RunRequest.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/RunRequest.java
@@ -16,7 +16,7 @@
/**
* The request parameters for scheduling a run.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = RunRequest.class)
@JsonTypeName("RunRequest")
@JsonSubTypes({
@JsonSubTypes.Type(name = "DockerBuildRequest", value = DockerBuildRequest.class),
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Sku.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Sku.java
new file mode 100644
index 000000000000..a4045adbcf83
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Sku.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT 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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The SKU of a container registry.
+ */
+public class Sku {
+ /**
+ * The SKU name of the container registry. Required for registry creation.
+ * Possible values include: 'Classic', 'Basic', 'Standard', 'Premium'.
+ */
+ @JsonProperty(value = "name", required = true)
+ private SkuName name;
+
+ /**
+ * The SKU tier based on the SKU name. Possible values include: 'Classic',
+ * 'Basic', 'Standard', 'Premium'.
+ */
+ @JsonProperty(value = "tier", access = JsonProperty.Access.WRITE_ONLY)
+ private SkuTier tier;
+
+ /**
+ * Get the SKU name of the container registry. Required for registry creation. Possible values include: 'Classic', 'Basic', 'Standard', 'Premium'.
+ *
+ * @return the name value
+ */
+ public SkuName name() {
+ return this.name;
+ }
+
+ /**
+ * Set the SKU name of the container registry. Required for registry creation. Possible values include: 'Classic', 'Basic', 'Standard', 'Premium'.
+ *
+ * @param name the name value to set
+ * @return the Sku object itself.
+ */
+ public Sku withName(SkuName name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the SKU tier based on the SKU name. Possible values include: 'Classic', 'Basic', 'Standard', 'Premium'.
+ *
+ * @return the tier value
+ */
+ public SkuTier tier() {
+ return this.tier;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/SkuName.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/SkuName.java
new file mode 100644
index 000000000000..ce4b0ff321a1
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/SkuName.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_04_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for SkuName.
+ */
+public final class SkuName extends ExpandableStringEnum {
+ /** Static value Classic for SkuName. */
+ public static final SkuName CLASSIC = fromString("Classic");
+
+ /** Static value Basic for SkuName. */
+ public static final SkuName BASIC = fromString("Basic");
+
+ /** Static value Standard for SkuName. */
+ public static final SkuName STANDARD = fromString("Standard");
+
+ /** Static value Premium for SkuName. */
+ public static final SkuName PREMIUM = fromString("Premium");
+
+ /**
+ * Creates or finds a SkuName from its string representation.
+ * @param name a name to look for
+ * @return the corresponding SkuName
+ */
+ @JsonCreator
+ public static SkuName fromString(String name) {
+ return fromString(name, SkuName.class);
+ }
+
+ /**
+ * @return known SkuName values
+ */
+ public static Collection values() {
+ return values(SkuName.class);
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/SkuTier.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/SkuTier.java
new file mode 100644
index 000000000000..33bb08edb714
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/SkuTier.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_04_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for SkuTier.
+ */
+public final class SkuTier extends ExpandableStringEnum {
+ /** Static value Classic for SkuTier. */
+ public static final SkuTier CLASSIC = fromString("Classic");
+
+ /** Static value Basic for SkuTier. */
+ public static final SkuTier BASIC = fromString("Basic");
+
+ /** Static value Standard for SkuTier. */
+ public static final SkuTier STANDARD = fromString("Standard");
+
+ /** Static value Premium for SkuTier. */
+ public static final SkuTier PREMIUM = fromString("Premium");
+
+ /**
+ * Creates or finds a SkuTier from its string representation.
+ * @param name a name to look for
+ * @return the corresponding SkuTier
+ */
+ @JsonCreator
+ public static SkuTier fromString(String name) {
+ return fromString(name, SkuTier.class);
+ }
+
+ /**
+ * @return known SkuTier values
+ */
+ public static Collection values() {
+ return values(SkuTier.class);
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Source.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Source.java
new file mode 100644
index 000000000000..499045cbf58e
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Source.java
@@ -0,0 +1,72 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The registry node that generated the event. Put differently, while the actor
+ * initiates the event, the source generates it.
+ */
+public class Source {
+ /**
+ * The IP or hostname and the port of the registry node that generated the
+ * event. Generally, this will be resolved by os.Hostname() along with the
+ * running port.
+ */
+ @JsonProperty(value = "addr")
+ private String addr;
+
+ /**
+ * The running instance of an application. Changes after each restart.
+ */
+ @JsonProperty(value = "instanceID")
+ private String instanceID;
+
+ /**
+ * Get the IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port.
+ *
+ * @return the addr value
+ */
+ public String addr() {
+ return this.addr;
+ }
+
+ /**
+ * Set the IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port.
+ *
+ * @param addr the addr value to set
+ * @return the Source object itself.
+ */
+ public Source withAddr(String addr) {
+ this.addr = addr;
+ return this;
+ }
+
+ /**
+ * Get the running instance of an application. Changes after each restart.
+ *
+ * @return the instanceID value
+ */
+ public String instanceID() {
+ return this.instanceID;
+ }
+
+ /**
+ * Set the running instance of an application. Changes after each restart.
+ *
+ * @param instanceID the instanceID value to set
+ * @return the Source object itself.
+ */
+ public Source withInstanceID(String instanceID) {
+ this.instanceID = instanceID;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Status.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Status.java
new file mode 100644
index 000000000000..7606152abcc6
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Status.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_04_01;
+
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The status of an Azure resource at the time the operation was called.
+ */
+public class Status {
+ /**
+ * The short label for the status.
+ */
+ @JsonProperty(value = "displayStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private String displayStatus;
+
+ /**
+ * The detailed message for the status, including alerts and error
+ * messages.
+ */
+ @JsonProperty(value = "message", access = JsonProperty.Access.WRITE_ONLY)
+ private String message;
+
+ /**
+ * The timestamp when the status was changed to the current value.
+ */
+ @JsonProperty(value = "timestamp", access = JsonProperty.Access.WRITE_ONLY)
+ private DateTime timestamp;
+
+ /**
+ * Get the short label for the status.
+ *
+ * @return the displayStatus value
+ */
+ public String displayStatus() {
+ return this.displayStatus;
+ }
+
+ /**
+ * Get the detailed message for the status, including alerts and error messages.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Get the timestamp when the status was changed to the current value.
+ *
+ * @return the timestamp value
+ */
+ public DateTime timestamp() {
+ return this.timestamp;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/StorageAccountProperties.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/StorageAccountProperties.java
new file mode 100644
index 000000000000..67f787f8ce1c
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/StorageAccountProperties.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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties of a storage account for a container registry. Only
+ * applicable to Classic SKU.
+ */
+public class StorageAccountProperties {
+ /**
+ * The resource ID of the storage account.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /**
+ * Get the resource ID of the storage account.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the resource ID of the storage account.
+ *
+ * @param id the id value to set
+ * @return the StorageAccountProperties object itself.
+ */
+ public StorageAccountProperties withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Target.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Target.java
new file mode 100644
index 000000000000..b1484581472d
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Target.java
@@ -0,0 +1,252 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT 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_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The target of the event.
+ */
+public class Target {
+ /**
+ * The MIME type of the referenced object.
+ */
+ @JsonProperty(value = "mediaType")
+ private String mediaType;
+
+ /**
+ * The number of bytes of the content. Same as Length field.
+ */
+ @JsonProperty(value = "size")
+ private Long size;
+
+ /**
+ * The digest of the content, as defined by the Registry V2 HTTP API
+ * Specification.
+ */
+ @JsonProperty(value = "digest")
+ private String digest;
+
+ /**
+ * The number of bytes of the content. Same as Size field.
+ */
+ @JsonProperty(value = "length")
+ private Long length;
+
+ /**
+ * The repository name.
+ */
+ @JsonProperty(value = "repository")
+ private String repository;
+
+ /**
+ * The direct URL to the content.
+ */
+ @JsonProperty(value = "url")
+ private String url;
+
+ /**
+ * The tag name.
+ */
+ @JsonProperty(value = "tag")
+ private String tag;
+
+ /**
+ * The name of the artifact.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * The version of the artifact.
+ */
+ @JsonProperty(value = "version")
+ private String version;
+
+ /**
+ * Get the MIME type of the referenced object.
+ *
+ * @return the mediaType value
+ */
+ public String mediaType() {
+ return this.mediaType;
+ }
+
+ /**
+ * Set the MIME type of the referenced object.
+ *
+ * @param mediaType the mediaType value to set
+ * @return the Target object itself.
+ */
+ public Target withMediaType(String mediaType) {
+ this.mediaType = mediaType;
+ return this;
+ }
+
+ /**
+ * Get the number of bytes of the content. Same as Length field.
+ *
+ * @return the size value
+ */
+ public Long size() {
+ return this.size;
+ }
+
+ /**
+ * Set the number of bytes of the content. Same as Length field.
+ *
+ * @param size the size value to set
+ * @return the Target object itself.
+ */
+ public Target withSize(Long size) {
+ this.size = size;
+ return this;
+ }
+
+ /**
+ * Get the digest of the content, as defined by the Registry V2 HTTP API Specification.
+ *
+ * @return the digest value
+ */
+ public String digest() {
+ return this.digest;
+ }
+
+ /**
+ * Set the digest of the content, as defined by the Registry V2 HTTP API Specification.
+ *
+ * @param digest the digest value to set
+ * @return the Target object itself.
+ */
+ public Target withDigest(String digest) {
+ this.digest = digest;
+ return this;
+ }
+
+ /**
+ * Get the number of bytes of the content. Same as Size field.
+ *
+ * @return the length value
+ */
+ public Long length() {
+ return this.length;
+ }
+
+ /**
+ * Set the number of bytes of the content. Same as Size field.
+ *
+ * @param length the length value to set
+ * @return the Target object itself.
+ */
+ public Target withLength(Long length) {
+ this.length = length;
+ 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 Target object itself.
+ */
+ public Target withRepository(String repository) {
+ this.repository = repository;
+ return this;
+ }
+
+ /**
+ * Get the direct URL to the content.
+ *
+ * @return the url value
+ */
+ public String url() {
+ return this.url;
+ }
+
+ /**
+ * Set the direct URL to the content.
+ *
+ * @param url the url value to set
+ * @return the Target object itself.
+ */
+ public Target withUrl(String url) {
+ this.url = url;
+ 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 Target object itself.
+ */
+ public Target withTag(String tag) {
+ this.tag = tag;
+ return this;
+ }
+
+ /**
+ * Get the name of the artifact.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the artifact.
+ *
+ * @param name the name value to set
+ * @return the Target object itself.
+ */
+ public Target withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the version of the artifact.
+ *
+ * @return the version value
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Set the version of the artifact.
+ *
+ * @param version the version value to set
+ * @return the Target object itself.
+ */
+ public Target withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TaskRunRequest.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TaskRunRequest.java
index 4003ecb22bf7..202b1090c0ae 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TaskRunRequest.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TaskRunRequest.java
@@ -16,7 +16,7 @@
/**
* The parameters for a task run request.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = TaskRunRequest.class)
@JsonTypeName("TaskRunRequest")
public class TaskRunRequest extends RunRequest {
/**
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TaskStepProperties.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TaskStepProperties.java
index 3de10dadbb65..3da03f7d1725 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TaskStepProperties.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TaskStepProperties.java
@@ -17,7 +17,7 @@
/**
* Base properties for any task step.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = TaskStepProperties.class)
@JsonTypeName("TaskStepProperties")
@JsonSubTypes({
@JsonSubTypes.Type(name = "Docker", value = DockerBuildStep.class),
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TaskStepUpdateParameters.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TaskStepUpdateParameters.java
index 19902a70933c..63c22f840673 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TaskStepUpdateParameters.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TaskStepUpdateParameters.java
@@ -16,7 +16,7 @@
/**
* Base properties for updating any task step.
*/
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = TaskStepUpdateParameters.class)
@JsonTypeName("TaskStepUpdateParameters")
@JsonSubTypes({
@JsonSubTypes.Type(name = "Docker", value = DockerBuildStepUpdateParameters.class),
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TrustPolicy.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TrustPolicy.java
new file mode 100644
index 000000000000..60bde4b91f2c
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TrustPolicy.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * An object that represents content trust policy for a container registry.
+ */
+public class TrustPolicy {
+ /**
+ * The type of trust policy. Possible values include: 'Notary'.
+ */
+ @JsonProperty(value = "type")
+ private TrustPolicyType type;
+
+ /**
+ * The value that indicates whether the policy is enabled or not. Possible
+ * values include: 'enabled', 'disabled'.
+ */
+ @JsonProperty(value = "status")
+ private PolicyStatus status;
+
+ /**
+ * Get the type of trust policy. Possible values include: 'Notary'.
+ *
+ * @return the type value
+ */
+ public TrustPolicyType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type of trust policy. Possible values include: 'Notary'.
+ *
+ * @param type the type value to set
+ * @return the TrustPolicy object itself.
+ */
+ public TrustPolicy withType(TrustPolicyType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the value that indicates whether the policy is enabled or not. Possible values include: 'enabled', 'disabled'.
+ *
+ * @return the status value
+ */
+ public PolicyStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the value that indicates whether the policy is enabled or not. Possible values include: 'enabled', 'disabled'.
+ *
+ * @param status the status value to set
+ * @return the TrustPolicy object itself.
+ */
+ public TrustPolicy withStatus(PolicyStatus status) {
+ this.status = status;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TrustPolicyType.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TrustPolicyType.java
new file mode 100644
index 000000000000..75bd18da8b91
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/TrustPolicyType.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT 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_04_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for TrustPolicyType.
+ */
+public final class TrustPolicyType extends ExpandableStringEnum {
+ /** Static value Notary for TrustPolicyType. */
+ public static final TrustPolicyType NOTARY = fromString("Notary");
+
+ /**
+ * Creates or finds a TrustPolicyType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding TrustPolicyType
+ */
+ @JsonCreator
+ public static TrustPolicyType fromString(String name) {
+ return fromString(name, TrustPolicyType.class);
+ }
+
+ /**
+ * @return known TrustPolicyType values
+ */
+ public static Collection values() {
+ return values(TrustPolicyType.class);
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/VirtualNetworkRule.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/VirtualNetworkRule.java
new file mode 100644
index 000000000000..b965167b06e0
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/VirtualNetworkRule.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Virtual network rule.
+ */
+public class VirtualNetworkRule {
+ /**
+ * The action of virtual network rule. Possible values include: 'Allow'.
+ */
+ @JsonProperty(value = "action")
+ private Action action;
+
+ /**
+ * Resource ID of a subnet, for example:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String virtualNetworkResourceId;
+
+ /**
+ * Get the action of virtual network rule. Possible values include: 'Allow'.
+ *
+ * @return the action value
+ */
+ public Action action() {
+ return this.action;
+ }
+
+ /**
+ * Set the action of virtual network rule. Possible values include: 'Allow'.
+ *
+ * @param action the action value to set
+ * @return the VirtualNetworkRule object itself.
+ */
+ public VirtualNetworkRule withAction(Action action) {
+ this.action = action;
+ return this;
+ }
+
+ /**
+ * Get resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}.
+ *
+ * @return the virtualNetworkResourceId value
+ */
+ public String virtualNetworkResourceId() {
+ return this.virtualNetworkResourceId;
+ }
+
+ /**
+ * Set resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}.
+ *
+ * @param virtualNetworkResourceId the virtualNetworkResourceId value to set
+ * @return the VirtualNetworkRule object itself.
+ */
+ public VirtualNetworkRule withVirtualNetworkResourceId(String virtualNetworkResourceId) {
+ this.virtualNetworkResourceId = virtualNetworkResourceId;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Webhook.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Webhook.java
new file mode 100644
index 000000000000..14ee1eae4f7c
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Webhook.java
@@ -0,0 +1,276 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT 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_04_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.WebhookInner;
+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_04_01.implementation.ContainerRegistryManager;
+import java.util.Map;
+import java.util.List;
+
+/**
+ * Type representing Webhook.
+ */
+public interface Webhook extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the actions value.
+ */
+ List actions();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the provisioningState value.
+ */
+ ProvisioningState provisioningState();
+
+ /**
+ * @return the scope value.
+ */
+ String scope();
+
+ /**
+ * @return the status value.
+ */
+ WebhookStatus status();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the Webhook definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithRegistry, DefinitionStages.WithActions, DefinitionStages.WithLocation, DefinitionStages.WithServiceUri, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of Webhook definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a Webhook definition.
+ */
+ interface Blank extends WithRegistry {
+ }
+
+ /**
+ * The stage of the webhook 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
+ */
+ WithActions withExistingRegistry(String resourceGroupName, String registryName);
+ }
+
+ /**
+ * The stage of the webhook definition allowing to specify Actions.
+ */
+ interface WithActions {
+ /**
+ * Specifies actions.
+ * @param actions The list of actions that trigger the webhook to post notifications
+ * @return the next definition stage
+ */
+ WithLocation withActions(List actions);
+ }
+
+ /**
+ * The stage of the webhook definition allowing to specify Location.
+ */
+ interface WithLocation {
+ /**
+ * Specifies location.
+ * @param location The location of the webhook. This cannot be changed after the resource is created
+ * @return the next definition stage
+ */
+ WithServiceUri withLocation(String location);
+ }
+
+ /**
+ * The stage of the webhook definition allowing to specify ServiceUri.
+ */
+ interface WithServiceUri {
+ /**
+ * Specifies serviceUri.
+ * @param serviceUri The service URI for the webhook to post notifications
+ * @return the next definition stage
+ */
+ WithCreate withServiceUri(String serviceUri);
+ }
+
+ /**
+ * The stage of the webhook definition allowing to specify CustomHeaders.
+ */
+ interface WithCustomHeaders {
+ /**
+ * Specifies customHeaders.
+ * @param customHeaders Custom headers that will be added to the webhook notifications
+ * @return the next definition stage
+ */
+ WithCreate withCustomHeaders(Map customHeaders);
+ }
+
+ /**
+ * The stage of the webhook definition allowing to specify Scope.
+ */
+ interface WithScope {
+ /**
+ * Specifies scope.
+ * @param scope The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events
+ * @return the next definition stage
+ */
+ WithCreate withScope(String scope);
+ }
+
+ /**
+ * The stage of the webhook definition allowing to specify Status.
+ */
+ interface WithStatus {
+ /**
+ * Specifies status.
+ * @param status The status of the webhook at the time the operation was called. Possible values include: 'enabled', 'disabled'
+ * @return the next definition stage
+ */
+ WithCreate withStatus(WebhookStatus status);
+ }
+
+ /**
+ * The stage of the webhook definition allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ * @param tags The tags for the webhook
+ * @return the next definition stage
+ */
+ WithCreate withTags(Map tags);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithCustomHeaders, DefinitionStages.WithScope, DefinitionStages.WithStatus, DefinitionStages.WithTags {
+ }
+ }
+ /**
+ * The template for a Webhook update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithActions, UpdateStages.WithCustomHeaders, UpdateStages.WithScope, UpdateStages.WithServiceUri, UpdateStages.WithStatus, UpdateStages.WithTags {
+ }
+
+ /**
+ * Grouping of Webhook update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the webhook update allowing to specify Actions.
+ */
+ interface WithActions {
+ /**
+ * Specifies actions.
+ * @param actions The list of actions that trigger the webhook to post notifications
+ * @return the next update stage
+ */
+ Update withActions(List actions);
+ }
+
+ /**
+ * The stage of the webhook update allowing to specify CustomHeaders.
+ */
+ interface WithCustomHeaders {
+ /**
+ * Specifies customHeaders.
+ * @param customHeaders Custom headers that will be added to the webhook notifications
+ * @return the next update stage
+ */
+ Update withCustomHeaders(Map customHeaders);
+ }
+
+ /**
+ * The stage of the webhook update allowing to specify Scope.
+ */
+ interface WithScope {
+ /**
+ * Specifies scope.
+ * @param scope The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events
+ * @return the next update stage
+ */
+ Update withScope(String scope);
+ }
+
+ /**
+ * The stage of the webhook update allowing to specify ServiceUri.
+ */
+ interface WithServiceUri {
+ /**
+ * Specifies serviceUri.
+ * @param serviceUri The service URI for the webhook to post notifications
+ * @return the next update stage
+ */
+ Update withServiceUri(String serviceUri);
+ }
+
+ /**
+ * The stage of the webhook update allowing to specify Status.
+ */
+ interface WithStatus {
+ /**
+ * Specifies status.
+ * @param status The status of the webhook at the time the operation was called. Possible values include: 'enabled', 'disabled'
+ * @return the next update stage
+ */
+ Update withStatus(WebhookStatus status);
+ }
+
+ /**
+ * The stage of the webhook update allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ * @param tags The tags for the webhook
+ * @return the next update stage
+ */
+ Update withTags(Map tags);
+ }
+
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/WebhookAction.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/WebhookAction.java
new file mode 100644
index 000000000000..2ed61d9ab29f
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/WebhookAction.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_04_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for WebhookAction.
+ */
+public final class WebhookAction extends ExpandableStringEnum {
+ /** Static value push for WebhookAction. */
+ public static final WebhookAction PUSH = fromString("push");
+
+ /** Static value delete for WebhookAction. */
+ public static final WebhookAction DELETE = fromString("delete");
+
+ /** Static value quarantine for WebhookAction. */
+ public static final WebhookAction QUARANTINE = fromString("quarantine");
+
+ /** Static value chart_push for WebhookAction. */
+ public static final WebhookAction CHART_PUSH = fromString("chart_push");
+
+ /** Static value chart_delete for WebhookAction. */
+ public static final WebhookAction CHART_DELETE = fromString("chart_delete");
+
+ /**
+ * Creates or finds a WebhookAction from its string representation.
+ * @param name a name to look for
+ * @return the corresponding WebhookAction
+ */
+ @JsonCreator
+ public static WebhookAction fromString(String name) {
+ return fromString(name, WebhookAction.class);
+ }
+
+ /**
+ * @return known WebhookAction values
+ */
+ public static Collection values() {
+ return values(WebhookAction.class);
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/WebhookCreateParameters.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/WebhookCreateParameters.java
new file mode 100644
index 000000000000..f787a1216142
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/WebhookCreateParameters.java
@@ -0,0 +1,208 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01;
+
+import java.util.Map;
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * The parameters for creating a webhook.
+ */
+@JsonFlatten
+public class WebhookCreateParameters {
+ /**
+ * The tags for the webhook.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * The location of the webhook. This cannot be changed after the resource
+ * is created.
+ */
+ @JsonProperty(value = "location", required = true)
+ private String location;
+
+ /**
+ * The service URI for the webhook to post notifications.
+ */
+ @JsonProperty(value = "properties.serviceUri", required = true)
+ private String serviceUri;
+
+ /**
+ * Custom headers that will be added to the webhook notifications.
+ */
+ @JsonProperty(value = "properties.customHeaders")
+ private Map customHeaders;
+
+ /**
+ * The status of the webhook at the time the operation was called. Possible
+ * values include: 'enabled', 'disabled'.
+ */
+ @JsonProperty(value = "properties.status")
+ private WebhookStatus status;
+
+ /**
+ * The scope of repositories where the event can be triggered. For example,
+ * 'foo:*' means events for all tags under repository 'foo'. 'foo:bar'
+ * means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'.
+ * Empty means all events.
+ */
+ @JsonProperty(value = "properties.scope")
+ private String scope;
+
+ /**
+ * The list of actions that trigger the webhook to post notifications.
+ */
+ @JsonProperty(value = "properties.actions", required = true)
+ private List actions;
+
+ /**
+ * Get the tags for the webhook.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the tags for the webhook.
+ *
+ * @param tags the tags value to set
+ * @return the WebhookCreateParameters object itself.
+ */
+ public WebhookCreateParameters withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ /**
+ * Get the location of the webhook. This cannot be changed after the resource is created.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location of the webhook. This cannot be changed after the resource is created.
+ *
+ * @param location the location value to set
+ * @return the WebhookCreateParameters object itself.
+ */
+ public WebhookCreateParameters withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the service URI for the webhook to post notifications.
+ *
+ * @return the serviceUri value
+ */
+ public String serviceUri() {
+ return this.serviceUri;
+ }
+
+ /**
+ * Set the service URI for the webhook to post notifications.
+ *
+ * @param serviceUri the serviceUri value to set
+ * @return the WebhookCreateParameters object itself.
+ */
+ public WebhookCreateParameters withServiceUri(String serviceUri) {
+ this.serviceUri = serviceUri;
+ return this;
+ }
+
+ /**
+ * Get custom headers that will be added to the webhook notifications.
+ *
+ * @return the customHeaders value
+ */
+ public Map customHeaders() {
+ return this.customHeaders;
+ }
+
+ /**
+ * Set custom headers that will be added to the webhook notifications.
+ *
+ * @param customHeaders the customHeaders value to set
+ * @return the WebhookCreateParameters object itself.
+ */
+ public WebhookCreateParameters withCustomHeaders(Map customHeaders) {
+ this.customHeaders = customHeaders;
+ return this;
+ }
+
+ /**
+ * Get the status of the webhook at the time the operation was called. Possible values include: 'enabled', 'disabled'.
+ *
+ * @return the status value
+ */
+ public WebhookStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status of the webhook at the time the operation was called. Possible values include: 'enabled', 'disabled'.
+ *
+ * @param status the status value to set
+ * @return the WebhookCreateParameters object itself.
+ */
+ public WebhookCreateParameters withStatus(WebhookStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.
+ *
+ * @return the scope value
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.
+ *
+ * @param scope the scope value to set
+ * @return the WebhookCreateParameters object itself.
+ */
+ public WebhookCreateParameters withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the list of actions that trigger the webhook to post notifications.
+ *
+ * @return the actions value
+ */
+ public List actions() {
+ return this.actions;
+ }
+
+ /**
+ * Set the list of actions that trigger the webhook to post notifications.
+ *
+ * @param actions the actions value to set
+ * @return the WebhookCreateParameters object itself.
+ */
+ public WebhookCreateParameters withActions(List actions) {
+ this.actions = actions;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/WebhookStatus.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/WebhookStatus.java
new file mode 100644
index 000000000000..0e9b06779043
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/WebhookStatus.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_04_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for WebhookStatus.
+ */
+public final class WebhookStatus extends ExpandableStringEnum {
+ /** Static value enabled for WebhookStatus. */
+ public static final WebhookStatus ENABLED = fromString("enabled");
+
+ /** Static value disabled for WebhookStatus. */
+ public static final WebhookStatus DISABLED = fromString("disabled");
+
+ /**
+ * Creates or finds a WebhookStatus from its string representation.
+ * @param name a name to look for
+ * @return the corresponding WebhookStatus
+ */
+ @JsonCreator
+ public static WebhookStatus fromString(String name) {
+ return fromString(name, WebhookStatus.class);
+ }
+
+ /**
+ * @return known WebhookStatus values
+ */
+ public static Collection values() {
+ return values(WebhookStatus.class);
+ }
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/WebhookUpdateParameters.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/WebhookUpdateParameters.java
new file mode 100644
index 000000000000..be8582b9a48f
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/WebhookUpdateParameters.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_04_01;
+
+import java.util.Map;
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * The parameters for updating a webhook.
+ */
+@JsonFlatten
+public class WebhookUpdateParameters {
+ /**
+ * The tags for the webhook.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * The service URI for the webhook to post notifications.
+ */
+ @JsonProperty(value = "properties.serviceUri")
+ private String serviceUri;
+
+ /**
+ * Custom headers that will be added to the webhook notifications.
+ */
+ @JsonProperty(value = "properties.customHeaders")
+ private Map customHeaders;
+
+ /**
+ * The status of the webhook at the time the operation was called. Possible
+ * values include: 'enabled', 'disabled'.
+ */
+ @JsonProperty(value = "properties.status")
+ private WebhookStatus status;
+
+ /**
+ * The scope of repositories where the event can be triggered. For example,
+ * 'foo:*' means events for all tags under repository 'foo'. 'foo:bar'
+ * means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'.
+ * Empty means all events.
+ */
+ @JsonProperty(value = "properties.scope")
+ private String scope;
+
+ /**
+ * The list of actions that trigger the webhook to post notifications.
+ */
+ @JsonProperty(value = "properties.actions")
+ private List actions;
+
+ /**
+ * Get the tags for the webhook.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the tags for the webhook.
+ *
+ * @param tags the tags value to set
+ * @return the WebhookUpdateParameters object itself.
+ */
+ public WebhookUpdateParameters withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ /**
+ * Get the service URI for the webhook to post notifications.
+ *
+ * @return the serviceUri value
+ */
+ public String serviceUri() {
+ return this.serviceUri;
+ }
+
+ /**
+ * Set the service URI for the webhook to post notifications.
+ *
+ * @param serviceUri the serviceUri value to set
+ * @return the WebhookUpdateParameters object itself.
+ */
+ public WebhookUpdateParameters withServiceUri(String serviceUri) {
+ this.serviceUri = serviceUri;
+ return this;
+ }
+
+ /**
+ * Get custom headers that will be added to the webhook notifications.
+ *
+ * @return the customHeaders value
+ */
+ public Map customHeaders() {
+ return this.customHeaders;
+ }
+
+ /**
+ * Set custom headers that will be added to the webhook notifications.
+ *
+ * @param customHeaders the customHeaders value to set
+ * @return the WebhookUpdateParameters object itself.
+ */
+ public WebhookUpdateParameters withCustomHeaders(Map customHeaders) {
+ this.customHeaders = customHeaders;
+ return this;
+ }
+
+ /**
+ * Get the status of the webhook at the time the operation was called. Possible values include: 'enabled', 'disabled'.
+ *
+ * @return the status value
+ */
+ public WebhookStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status of the webhook at the time the operation was called. Possible values include: 'enabled', 'disabled'.
+ *
+ * @param status the status value to set
+ * @return the WebhookUpdateParameters object itself.
+ */
+ public WebhookUpdateParameters withStatus(WebhookStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.
+ *
+ * @return the scope value
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.
+ *
+ * @param scope the scope value to set
+ * @return the WebhookUpdateParameters object itself.
+ */
+ public WebhookUpdateParameters withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the list of actions that trigger the webhook to post notifications.
+ *
+ * @return the actions value
+ */
+ public List actions() {
+ return this.actions;
+ }
+
+ /**
+ * Set the list of actions that trigger the webhook to post notifications.
+ *
+ * @param actions the actions value to set
+ * @return the WebhookUpdateParameters object itself.
+ */
+ public WebhookUpdateParameters withActions(List actions) {
+ this.actions = actions;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Webhooks.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Webhooks.java
new file mode 100644
index 000000000000..2bb62b1862f6
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/Webhooks.java
@@ -0,0 +1,86 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT 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_04_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.implementation.WebhooksInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Webhooks.
+ */
+public interface Webhooks extends SupportsCreating, HasInner {
+ /**
+ * Triggers a ping event to be sent to the webhook.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable pingAsync(String resourceGroupName, String registryName, String webhookName);
+
+ /**
+ * Gets the configuration of service URI and custom headers for the webhook.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getCallbackConfigAsync(String resourceGroupName, String registryName, String webhookName);
+
+ /**
+ * Lists recent events for the specified webhook.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listEventsAsync(final String resourceGroupName, final String registryName, final String webhookName);
+
+ /**
+ * Gets the properties of the specified webhook.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String registryName, String webhookName);
+
+ /**
+ * Lists all the webhooks for the 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 webhook from a container registry.
+ *
+ * @param resourceGroupName The name of the resource group to which the container registry belongs.
+ * @param registryName The name of the container registry.
+ * @param webhookName The name of the webhook.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String registryName, String webhookName);
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/CallbackConfigImpl.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/CallbackConfigImpl.java
new file mode 100644
index 000000000000..1c6859b04d00
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/CallbackConfigImpl.java
@@ -0,0 +1,37 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT 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_04_01.implementation;
+
+import com.microsoft.azure.management.containerregistry.v2019_04_01.CallbackConfig;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import java.util.Map;
+
+class CallbackConfigImpl extends WrapperImpl implements CallbackConfig {
+ private final ContainerRegistryManager manager;
+ CallbackConfigImpl(CallbackConfigInner inner, ContainerRegistryManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public ContainerRegistryManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Map customHeaders() {
+ return this.inner().customHeaders();
+ }
+
+ @Override
+ public String serviceUri() {
+ return this.inner().serviceUri();
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/CallbackConfigInner.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/CallbackConfigInner.java
new file mode 100644
index 000000000000..05579d0cd269
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/CallbackConfigInner.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01.implementation;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The configuration of service URI and custom headers for the webhook.
+ */
+public class CallbackConfigInner {
+ /**
+ * The service URI for the webhook to post notifications.
+ */
+ @JsonProperty(value = "serviceUri", required = true)
+ private String serviceUri;
+
+ /**
+ * Custom headers that will be added to the webhook notifications.
+ */
+ @JsonProperty(value = "customHeaders")
+ private Map customHeaders;
+
+ /**
+ * Get the service URI for the webhook to post notifications.
+ *
+ * @return the serviceUri value
+ */
+ public String serviceUri() {
+ return this.serviceUri;
+ }
+
+ /**
+ * Set the service URI for the webhook to post notifications.
+ *
+ * @param serviceUri the serviceUri value to set
+ * @return the CallbackConfigInner object itself.
+ */
+ public CallbackConfigInner withServiceUri(String serviceUri) {
+ this.serviceUri = serviceUri;
+ return this;
+ }
+
+ /**
+ * Get custom headers that will be added to the webhook notifications.
+ *
+ * @return the customHeaders value
+ */
+ public Map customHeaders() {
+ return this.customHeaders;
+ }
+
+ /**
+ * Set custom headers that will be added to the webhook notifications.
+ *
+ * @param customHeaders the customHeaders value to set
+ * @return the CallbackConfigInner object itself.
+ */
+ public CallbackConfigInner withCustomHeaders(Map customHeaders) {
+ this.customHeaders = customHeaders;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/ContainerRegistryManagementClientImpl.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/ContainerRegistryManagementClientImpl.java
index 6fc219c6813e..76d7ade0e46d 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/ContainerRegistryManagementClientImpl.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/ContainerRegistryManagementClientImpl.java
@@ -51,18 +51,6 @@ public ContainerRegistryManagementClientImpl withSubscriptionId(String subscript
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;
@@ -145,6 +133,45 @@ public RegistriesInner registries() {
return this.registries;
}
+ /**
+ * The OperationsInner object to access its operations.
+ */
+ private OperationsInner operations;
+
+ /**
+ * Gets the OperationsInner object to access its operations.
+ * @return the OperationsInner object.
+ */
+ public OperationsInner operations() {
+ return this.operations;
+ }
+
+ /**
+ * The ReplicationsInner object to access its operations.
+ */
+ private ReplicationsInner replications;
+
+ /**
+ * Gets the ReplicationsInner object to access its operations.
+ * @return the ReplicationsInner object.
+ */
+ public ReplicationsInner replications() {
+ return this.replications;
+ }
+
+ /**
+ * The WebhooksInner object to access its operations.
+ */
+ private WebhooksInner webhooks;
+
+ /**
+ * Gets the WebhooksInner object to access its operations.
+ * @return the WebhooksInner object.
+ */
+ public WebhooksInner webhooks() {
+ return this.webhooks;
+ }
+
/**
* The RunsInner object to access its operations.
*/
@@ -202,11 +229,13 @@ public ContainerRegistryManagementClientImpl(RestClient restClient) {
}
protected void initialize() {
- this.apiVersion = "2019-04-01";
this.acceptLanguage = "en-US";
this.longRunningOperationRetryTimeout = 30;
this.generateClientRequestId = true;
this.registries = new RegistriesInner(restClient().retrofit(), this);
+ this.operations = new OperationsInner(restClient().retrofit(), this);
+ this.replications = new ReplicationsInner(restClient().retrofit(), this);
+ this.webhooks = new WebhooksInner(restClient().retrofit(), this);
this.runs = new RunsInner(restClient().retrofit(), this);
this.tasks = new TasksInner(restClient().retrofit(), this);
this.azureClient = new AzureClient(this);
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/ContainerRegistryManager.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/ContainerRegistryManager.java
index 5bcca6b73922..6c864c265983 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/ContainerRegistryManager.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/ContainerRegistryManager.java
@@ -17,6 +17,9 @@
import com.microsoft.azure.serializer.AzureJacksonAdapter;
import com.microsoft.rest.RestClient;
import com.microsoft.azure.management.containerregistry.v2019_04_01.Registries;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.Operations;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.Replications;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.Webhooks;
import com.microsoft.azure.management.containerregistry.v2019_04_01.Runs;
import com.microsoft.azure.management.containerregistry.v2019_04_01.Tasks;
import com.microsoft.azure.arm.resources.implementation.AzureConfigurableCoreImpl;
@@ -27,6 +30,9 @@
*/
public final class ContainerRegistryManager extends ManagerCore {
private Registries registries;
+ private Operations operations;
+ private Replications replications;
+ private Webhooks webhooks;
private Runs runs;
private Tasks tasks;
/**
@@ -86,6 +92,36 @@ public Registries registries() {
return this.registries;
}
+ /**
+ * @return Entry point to manage Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(this);
+ }
+ return this.operations;
+ }
+
+ /**
+ * @return Entry point to manage Replications.
+ */
+ public Replications replications() {
+ if (this.replications == null) {
+ this.replications = new ReplicationsImpl(this);
+ }
+ return this.replications;
+ }
+
+ /**
+ * @return Entry point to manage Webhooks.
+ */
+ public Webhooks webhooks() {
+ if (this.webhooks == null) {
+ this.webhooks = new WebhooksImpl(this);
+ }
+ return this.webhooks;
+ }
+
/**
* @return Entry point to manage Runs.
*/
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/EventImpl.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/EventImpl.java
new file mode 100644
index 000000000000..ccca9e2f85ba
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/EventImpl.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_04_01.implementation;
+
+import com.microsoft.azure.management.containerregistry.v2019_04_01.Event;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.EventRequestMessage;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.EventResponseMessage;
+
+class EventImpl extends WrapperImpl implements Event {
+ private final ContainerRegistryManager manager;
+ EventImpl(EventInner inner, ContainerRegistryManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public ContainerRegistryManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public EventRequestMessage eventRequestMessage() {
+ return this.inner().eventRequestMessage();
+ }
+
+ @Override
+ public EventResponseMessage eventResponseMessage() {
+ return this.inner().eventResponseMessage();
+ }
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/EventInfoImpl.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/EventInfoImpl.java
new file mode 100644
index 000000000000..cbb60119a308
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/EventInfoImpl.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_04_01.implementation;
+
+import com.microsoft.azure.management.containerregistry.v2019_04_01.EventInfo;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+
+class EventInfoImpl extends WrapperImpl implements EventInfo {
+ private final ContainerRegistryManager manager;
+ EventInfoImpl(EventInfoInner inner, ContainerRegistryManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public ContainerRegistryManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/EventInfoInner.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/EventInfoInner.java
new file mode 100644
index 000000000000..fcdaa58e348d
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/EventInfoInner.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_04_01.implementation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The basic information of an event.
+ */
+public class EventInfoInner {
+ /**
+ * The event ID.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /**
+ * Get the event ID.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the event ID.
+ *
+ * @param id the id value to set
+ * @return the EventInfoInner object itself.
+ */
+ public EventInfoInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/EventInner.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/EventInner.java
new file mode 100644
index 000000000000..b31a06857a7c
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/EventInner.java
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01.implementation;
+
+import com.microsoft.azure.management.containerregistry.v2019_04_01.EventRequestMessage;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.EventResponseMessage;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The event for a webhook.
+ */
+public class EventInner extends EventInfoInner {
+ /**
+ * The event request message sent to the service URI.
+ */
+ @JsonProperty(value = "eventRequestMessage")
+ private EventRequestMessage eventRequestMessage;
+
+ /**
+ * The event response message received from the service URI.
+ */
+ @JsonProperty(value = "eventResponseMessage")
+ private EventResponseMessage eventResponseMessage;
+
+ /**
+ * Get the event request message sent to the service URI.
+ *
+ * @return the eventRequestMessage value
+ */
+ public EventRequestMessage eventRequestMessage() {
+ return this.eventRequestMessage;
+ }
+
+ /**
+ * Set the event request message sent to the service URI.
+ *
+ * @param eventRequestMessage the eventRequestMessage value to set
+ * @return the EventInner object itself.
+ */
+ public EventInner withEventRequestMessage(EventRequestMessage eventRequestMessage) {
+ this.eventRequestMessage = eventRequestMessage;
+ return this;
+ }
+
+ /**
+ * Get the event response message received from the service URI.
+ *
+ * @return the eventResponseMessage value
+ */
+ public EventResponseMessage eventResponseMessage() {
+ return this.eventResponseMessage;
+ }
+
+ /**
+ * Set the event response message received from the service URI.
+ *
+ * @param eventResponseMessage the eventResponseMessage value to set
+ * @return the EventInner object itself.
+ */
+ public EventInner withEventResponseMessage(EventResponseMessage eventResponseMessage) {
+ this.eventResponseMessage = eventResponseMessage;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/OperationDefinitionImpl.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/OperationDefinitionImpl.java
new file mode 100644
index 000000000000..1a966313688f
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/OperationDefinitionImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01.implementation;
+
+import com.microsoft.azure.management.containerregistry.v2019_04_01.OperationDefinition;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.OperationDisplayDefinition;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.OperationServiceSpecificationDefinition;
+
+class OperationDefinitionImpl extends WrapperImpl implements OperationDefinition {
+ private final ContainerRegistryManager manager;
+ OperationDefinitionImpl(OperationDefinitionInner inner, ContainerRegistryManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public ContainerRegistryManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public OperationDisplayDefinition display() {
+ return this.inner().display();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public String origin() {
+ return this.inner().origin();
+ }
+
+ @Override
+ public OperationServiceSpecificationDefinition serviceSpecification() {
+ return this.inner().serviceSpecification();
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/OperationDefinitionInner.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/OperationDefinitionInner.java
new file mode 100644
index 000000000000..513fc728b21c
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/OperationDefinitionInner.java
@@ -0,0 +1,125 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT 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_04_01.implementation;
+
+import com.microsoft.azure.management.containerregistry.v2019_04_01.OperationDisplayDefinition;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.OperationServiceSpecificationDefinition;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * The definition of a container registry operation.
+ */
+@JsonFlatten
+public class OperationDefinitionInner {
+ /**
+ * The origin information of the container registry operation.
+ */
+ @JsonProperty(value = "origin")
+ private String origin;
+
+ /**
+ * Operation name: {provider}/{resource}/{operation}.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * The display information for the container registry operation.
+ */
+ @JsonProperty(value = "display")
+ private OperationDisplayDefinition display;
+
+ /**
+ * The definition of Azure Monitoring service.
+ */
+ @JsonProperty(value = "properties.serviceSpecification")
+ private OperationServiceSpecificationDefinition serviceSpecification;
+
+ /**
+ * Get the origin information of the container registry operation.
+ *
+ * @return the origin value
+ */
+ public String origin() {
+ return this.origin;
+ }
+
+ /**
+ * Set the origin information of the container registry operation.
+ *
+ * @param origin the origin value to set
+ * @return the OperationDefinitionInner object itself.
+ */
+ public OperationDefinitionInner withOrigin(String origin) {
+ this.origin = origin;
+ return this;
+ }
+
+ /**
+ * Get operation name: {provider}/{resource}/{operation}.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set operation name: {provider}/{resource}/{operation}.
+ *
+ * @param name the name value to set
+ * @return the OperationDefinitionInner object itself.
+ */
+ public OperationDefinitionInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the display information for the container registry operation.
+ *
+ * @return the display value
+ */
+ public OperationDisplayDefinition display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display information for the container registry operation.
+ *
+ * @param display the display value to set
+ * @return the OperationDefinitionInner object itself.
+ */
+ public OperationDefinitionInner withDisplay(OperationDisplayDefinition display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the definition of Azure Monitoring service.
+ *
+ * @return the serviceSpecification value
+ */
+ public OperationServiceSpecificationDefinition serviceSpecification() {
+ return this.serviceSpecification;
+ }
+
+ /**
+ * Set the definition of Azure Monitoring service.
+ *
+ * @param serviceSpecification the serviceSpecification value to set
+ * @return the OperationDefinitionInner object itself.
+ */
+ public OperationDefinitionInner withServiceSpecification(OperationServiceSpecificationDefinition serviceSpecification) {
+ this.serviceSpecification = serviceSpecification;
+ return this;
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/OperationsImpl.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/OperationsImpl.java
new file mode 100644
index 000000000000..590899b75546
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/OperationsImpl.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * abc
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.Operations;
+import rx.functions.Func1;
+import rx.Observable;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.OperationDefinition;
+
+class OperationsImpl extends WrapperImpl implements Operations {
+ private final ContainerRegistryManager manager;
+
+ OperationsImpl(ContainerRegistryManager manager) {
+ super(manager.inner().operations());
+ this.manager = manager;
+ }
+
+ public ContainerRegistryManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable listAsync() {
+ OperationsInner client = this.inner();
+ return client.listAsync()
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public OperationDefinition call(OperationDefinitionInner inner) {
+ return new OperationDefinitionImpl(inner, manager());
+ }
+ });
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/OperationsInner.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/OperationsInner.java
new file mode 100644
index 000000000000..f1b3dd3fb3d2
--- /dev/null
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/OperationsInner.java
@@ -0,0 +1,281 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.containerregistry.v2019_04_01.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.Page;
+import com.microsoft.azure.PagedList;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import java.io.IOException;
+import java.util.List;
+import okhttp3.ResponseBody;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+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 Operations.
+ */
+public class OperationsInner {
+ /** The Retrofit service to perform REST calls. */
+ private OperationsService service;
+ /** The service client containing this operation class. */
+ private ContainerRegistryManagementClientImpl client;
+
+ /**
+ * Initializes an instance of OperationsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public OperationsInner(Retrofit retrofit, ContainerRegistryManagementClientImpl client) {
+ this.service = retrofit.create(OperationsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for Operations to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface OperationsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.containerregistry.v2019_04_01.Operations list" })
+ @GET("providers/Microsoft.ContainerRegistry/operations")
+ Observable> list(@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_04_01.Operations listNext" })
+ @GET
+ Observable> listNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Lists all of the available Azure Container Registry REST API operations.
+ *
+ * @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<OperationDefinitionInner> object if successful.
+ */
+ public PagedList list() {
+ ServiceResponse> response = listSinglePageAsync().toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Lists all of the available Azure Container Registry REST API operations.
+ *
+ * @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 ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listSinglePageAsync(),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * Lists all of the available Azure Container Registry REST API operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<OperationDefinitionInner> object
+ */
+ public Observable> listAsync() {
+ return listWithServiceResponseAsync()
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Lists all of the available Azure Container Registry REST API operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<OperationDefinitionInner> object
+ */
+ public Observable>> listWithServiceResponseAsync() {
+ return listSinglePageAsync()
+ .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));
+ }
+ });
+ }
+
+ /**
+ * Lists all of the available Azure Container Registry REST API operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<OperationDefinitionInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listSinglePageAsync() {
+ final String apiVersion = "2017-10-01";
+ return service.list(apiVersion, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response response) {
+ try {
+ ServiceResponse> result = listDelegate(response);
+ return Observable.just(new ServiceResponse>(result.body(), result.response()));
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse> listDelegate(Response response) throws CloudException, IOException {
+ return this.client.restClient().responseBuilderFactory()., CloudException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Lists all of the available Azure Container Registry REST API operations.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @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<OperationDefinitionInner> object if successful.
+ */
+ public PagedList listNext(final String nextPageLink) {
+ ServiceResponse> response = listNextSinglePageAsync(nextPageLink).toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Lists all of the available Azure Container Registry REST API operations.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param serviceFuture the ServiceFuture object tracking the Retrofit calls
+ * @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> listNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listNextSinglePageAsync(nextPageLink),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * Lists all of the available Azure Container Registry REST API operations.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<OperationDefinitionInner> object
+ */
+ public Observable> listNextAsync(final String nextPageLink) {
+ return listNextWithServiceResponseAsync(nextPageLink)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Lists all of the available Azure Container Registry REST API operations.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<OperationDefinitionInner> object
+ */
+ public Observable>> listNextWithServiceResponseAsync(final String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink)
+ .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));
+ }
+ });
+ }
+
+ /**
+ * Lists all of the available Azure Container Registry REST API operations.
+ *
+ ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<OperationDefinitionInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listNextSinglePageAsync(final String nextPageLink) {
+ if (nextPageLink == null) {
+ throw new IllegalArgumentException("Parameter nextPageLink is required and cannot be null.");
+ }
+ String nextUrl = String.format("%s", nextPageLink);
+ return service.listNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response response) {
+ try {
+ ServiceResponse> result = listNextDelegate(response);
+ return Observable.just(new ServiceResponse>(result.body(), result.response()));
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse> listNextDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., CloudException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+}
diff --git a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/RegistriesImpl.java b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/RegistriesImpl.java
index 19480780e419..439ab7cc8498 100644
--- a/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/RegistriesImpl.java
+++ b/sdk/containerregistry/mgmt-v2019_04_01/src/main/java/com/microsoft/azure/management/containerregistry/v2019_04_01/implementation/RegistriesImpl.java
@@ -4,29 +4,176 @@
* license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
- * abc
+ * def
*/
package com.microsoft.azure.management.containerregistry.v2019_04_01.implementation;
-import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.arm.resources.collection.implementation.GroupableResourcesCoreImpl;
import com.microsoft.azure.management.containerregistry.v2019_04_01.Registries;
-import rx.functions.Func1;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.Registry;
import rx.Observable;
+import rx.Completable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import com.microsoft.azure.arm.resources.ResourceUtilsCore;
+import com.microsoft.azure.arm.utils.RXMapper;
+import rx.functions.Func1;
+import com.microsoft.azure.PagedList;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.RegistryListCredentialsResult;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.RegistryPolicies;
import com.microsoft.azure.management.containerregistry.v2019_04_01.Run;
import com.microsoft.azure.management.containerregistry.v2019_04_01.SourceUploadDefinition;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.RegistryNameStatus;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.ImportImageParameters;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.PasswordName;
import com.microsoft.azure.management.containerregistry.v2019_04_01.RunRequest;
+import com.microsoft.azure.management.containerregistry.v2019_04_01.RegistryUsageListResult;
+
+class RegistriesImpl extends GroupableResourcesCoreImpl implements Registries {
+ protected RegistriesImpl(ContainerRegistryManager manager) {
+ super(manager.inner().registries(), manager);
+ }
+
+ @Override
+ protected Observable getInnerAsync(String resourceGroupName, String name) {
+ RegistriesInner client = this.inner();
+ return client.getByResourceGroupAsync(resourceGroupName, name);
+ }
+
+ @Override
+ protected Completable deleteInnerAsync(String resourceGroupName, String name) {
+ RegistriesInner client = this.inner();
+ return client.deleteAsync(resourceGroupName, name).toCompletable();
+ }
+
+ @Override
+ public Observable deleteByIdsAsync(Collection ids) {
+ if (ids == null || ids.isEmpty()) {
+ return Observable.empty();
+ }
+ Collection> observables = new ArrayList<>();
+ for (String id : ids) {
+ final String resourceGroupName = ResourceUtilsCore.groupFromResourceId(id);
+ final String name = ResourceUtilsCore.nameFromResourceId(id);
+ Observable o = RXMapper.map(this.inner().deleteAsync(resourceGroupName, name), id);
+ observables.add(o);
+ }
+ return Observable.mergeDelayError(observables);
+ }
+
+ @Override
+ public Observable deleteByIdsAsync(String...ids) {
+ return this.deleteByIdsAsync(new ArrayList(Arrays.asList(ids)));
+ }
+
+ @Override
+ public void deleteByIds(Collection ids) {
+ if (ids != null && !ids.isEmpty()) {
+ this.deleteByIdsAsync(ids).toBlocking().last();
+ }
+ }
+
+ @Override
+ public void deleteByIds(String...ids) {
+ this.deleteByIds(new ArrayList(Arrays.asList(ids)));
+ }
+
+ @Override
+ public PagedList listByResourceGroup(String resourceGroupName) {
+ RegistriesInner client = this.inner();
+ return this.wrapList(client.listByResourceGroup(resourceGroupName));
+ }
+
+ @Override
+ public Observable listByResourceGroupAsync(String resourceGroupName) {
+ RegistriesInner client = this.inner();
+ return client.listByResourceGroupAsync(resourceGroupName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public Registry call(RegistryInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+ @Override
+ public PagedList list() {
+ RegistriesInner client = this.inner();
+ return this.wrapList(client.list());
+ }
+
+ @Override
+ public Observable listAsync() {
+ RegistriesInner client = this.inner();
+ return client.listAsync()
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public Registry call(RegistryInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
-class RegistriesImpl extends WrapperImpl implements Registries {
- private final ContainerRegistryManager manager;
+ @Override
+ public RegistryImpl define(String name) {
+ return wrapModel(name);
+ }
- RegistriesImpl(ContainerRegistryManager manager) {
- super(manager.inner().registries());
- this.manager = manager;
+ @Override
+ public Completable importImageAsync(String resourceGroupName, String registryName, ImportImageParameters parameters) {
+ RegistriesInner client = this.inner();
+ return client.importImageAsync(resourceGroupName, registryName, parameters).toCompletable();
}
- public ContainerRegistryManager manager() {
- return this.manager;
+ @Override
+ public Observable listCredentialsAsync(String resourceGroupName, String registryName) {
+ RegistriesInner client = this.inner();
+ return client.listCredentialsAsync(resourceGroupName, registryName)
+ .map(new Func1() {
+ @Override
+ public RegistryListCredentialsResult call(RegistryListCredentialsResultInner inner) {
+ return new RegistryListCredentialsResultImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable regenerateCredentialAsync(String resourceGroupName, String registryName, PasswordName name) {
+ RegistriesInner client = this.inner();
+ return client.regenerateCredentialAsync(resourceGroupName, registryName, name)
+ .map(new Func1() {
+ @Override
+ public RegistryListCredentialsResult call(RegistryListCredentialsResultInner inner) {
+ return new RegistryListCredentialsResultImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable updatePoliciesAsync(String resourceGroupName, String registryName, RegistryPoliciesInner registryPoliciesUpdateParameters) {
+ RegistriesInner client = this.inner();
+ return client.updatePoliciesAsync(resourceGroupName, registryName, registryPoliciesUpdateParameters)
+ .map(new Func1