diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/pom.xml b/sdk/eventgrid/mgmt-v2019_02_01_preview/pom.xml
new file mode 100644
index 000000000000..3d99e1c5f945
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/pom.xml
@@ -0,0 +1,135 @@
+
+
+ 4.0.0
+ com.microsoft.azure.eventgrid.v2019_02_01_preview
+
+ com.microsoft.azure
+ azure-arm-parent
+ 1.1.0
+ ../../../pom.management.xml
+
+ azure-mgmt-eventgrid
+ 1.0.0-beta
+ jar
+ Microsoft Azure SDK for EventGrid Management
+ This package contains Microsoft EventGrid Management SDK.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+ UTF-8
+
+
+
+
+ microsoft
+ Microsoft
+
+
+
+
+ com.microsoft.azure
+ azure-client-runtime
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+
+
+ junit
+ junit
+ test
+
+
+ com.microsoft.azure
+ azure-client-authentication
+ test
+
+
+ com.microsoft.azure
+ azure-mgmt-resources
+ test
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+ test-jar
+ test
+
+ 1.6.5
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ true
+ true
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+ 1.7
+ 1.7
+
+
+ com.microsoft.azure.management.apigeneration.LangDefinitionProcessor
+
+
+ true
+ true
+
+ true
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.8
+
+ *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search
+
+
+ /**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ */
+ ]]>
+
+
+
+
+
+
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/AdvancedFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/AdvancedFilter.java
new file mode 100644
index 000000000000..47ec3325199d
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/AdvancedFilter.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * This is the base type that represents an advanced filter. To configure an
+ * advanced filter, do not directly instantiate an object of this class.
+ * Instead, instantiate an object of a derived class such as
+ * BoolEqualsAdvancedFilter, NumberInAdvancedFilter, StringEqualsAdvancedFilter
+ * etc. depending on the type of the key based on which you want to filter.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operatorType", defaultImpl = AdvancedFilter.class)
+@JsonTypeName("AdvancedFilter")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "NumberIn", value = NumberInAdvancedFilter.class),
+ @JsonSubTypes.Type(name = "NumberNotIn", value = NumberNotInAdvancedFilter.class),
+ @JsonSubTypes.Type(name = "NumberLessThan", value = NumberLessThanAdvancedFilter.class),
+ @JsonSubTypes.Type(name = "NumberGreaterThan", value = NumberGreaterThanAdvancedFilter.class),
+ @JsonSubTypes.Type(name = "NumberLessThanOrEquals", value = NumberLessThanOrEqualsAdvancedFilter.class),
+ @JsonSubTypes.Type(name = "NumberGreaterThanOrEquals", value = NumberGreaterThanOrEqualsAdvancedFilter.class),
+ @JsonSubTypes.Type(name = "BoolEquals", value = BoolEqualsAdvancedFilter.class),
+ @JsonSubTypes.Type(name = "StringIn", value = StringInAdvancedFilter.class),
+ @JsonSubTypes.Type(name = "StringNotIn", value = StringNotInAdvancedFilter.class),
+ @JsonSubTypes.Type(name = "StringBeginsWith", value = StringBeginsWithAdvancedFilter.class),
+ @JsonSubTypes.Type(name = "StringEndsWith", value = StringEndsWithAdvancedFilter.class),
+ @JsonSubTypes.Type(name = "StringContains", value = StringContainsAdvancedFilter.class)
+})
+public class AdvancedFilter {
+ /**
+ * The field/property in the event based on which you want to filter.
+ */
+ @JsonProperty(value = "key")
+ private String key;
+
+ /**
+ * Get the field/property in the event based on which you want to filter.
+ *
+ * @return the key value
+ */
+ public String key() {
+ return this.key;
+ }
+
+ /**
+ * Set the field/property in the event based on which you want to filter.
+ *
+ * @param key the key value to set
+ * @return the AdvancedFilter object itself.
+ */
+ public AdvancedFilter withKey(String key) {
+ this.key = key;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/BoolEqualsAdvancedFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/BoolEqualsAdvancedFilter.java
new file mode 100644
index 000000000000..003e7a8cd8ce
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/BoolEqualsAdvancedFilter.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.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * BoolEquals Advanced Filter.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operatorType", defaultImpl = BoolEqualsAdvancedFilter.class)
+@JsonTypeName("BoolEquals")
+public class BoolEqualsAdvancedFilter extends AdvancedFilter {
+ /**
+ * The boolean filter value.
+ */
+ @JsonProperty(value = "value")
+ private Boolean value;
+
+ /**
+ * Get the boolean filter value.
+ *
+ * @return the value value
+ */
+ public Boolean value() {
+ return this.value;
+ }
+
+ /**
+ * Set the boolean filter value.
+ *
+ * @param value the value value to set
+ * @return the BoolEqualsAdvancedFilter object itself.
+ */
+ public BoolEqualsAdvancedFilter withValue(Boolean value) {
+ this.value = value;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DeadLetterDestination.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DeadLetterDestination.java
new file mode 100644
index 000000000000..bc7d7d7f899c
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DeadLetterDestination.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Information about the dead letter destination for an event subscription. To
+ * configure a deadletter destination, do not directly instantiate an object of
+ * this class. Instead, instantiate an object of a derived class. Currently,
+ * StorageBlobDeadLetterDestination is the only class that derives from this
+ * class.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "endpointType", defaultImpl = DeadLetterDestination.class)
+@JsonTypeName("DeadLetterDestination")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "StorageBlob", value = StorageBlobDeadLetterDestination.class)
+})
+public class DeadLetterDestination {
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Domain.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Domain.java
new file mode 100644
index 000000000000..6b3bd109d2d8
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Domain.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.EventGridManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.DomainInner;
+
+/**
+ * Type representing Domain.
+ */
+public interface Domain extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the endpoint value.
+ */
+ String endpoint();
+
+ /**
+ * @return the inputSchema value.
+ */
+ InputSchema inputSchema();
+
+ /**
+ * @return the inputSchemaMapping value.
+ */
+ InputSchemaMapping inputSchemaMapping();
+
+ /**
+ * @return the provisioningState value.
+ */
+ DomainProvisioningState provisioningState();
+
+ /**
+ * The entirety of the Domain definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of Domain definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a Domain definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the Domain definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the domain definition allowing to specify InputSchema.
+ */
+ interface WithInputSchema {
+ /**
+ * Specifies inputSchema.
+ * @param inputSchema This determines the format that Event Grid should expect for incoming events published to the domain. Possible values include: 'EventGridSchema', 'CustomEventSchema', 'CloudEventV01Schema'
+ * @return the next definition stage
+ */
+ WithCreate withInputSchema(InputSchema inputSchema);
+ }
+
+ /**
+ * The stage of the domain definition allowing to specify InputSchemaMapping.
+ */
+ interface WithInputSchemaMapping {
+ /**
+ * Specifies inputSchemaMapping.
+ * @param inputSchemaMapping Information about the InputSchemaMapping which specified the info about mapping event payload
+ * @return the next definition stage
+ */
+ WithCreate withInputSchemaMapping(InputSchemaMapping inputSchemaMapping);
+ }
+
+ /**
+ * 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.WithInputSchema, DefinitionStages.WithInputSchemaMapping {
+ }
+ }
+ /**
+ * The template for a Domain update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithInputSchema, UpdateStages.WithInputSchemaMapping {
+ }
+
+ /**
+ * Grouping of Domain update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the domain update allowing to specify InputSchema.
+ */
+ interface WithInputSchema {
+ /**
+ * Specifies inputSchema.
+ * @param inputSchema This determines the format that Event Grid should expect for incoming events published to the domain. Possible values include: 'EventGridSchema', 'CustomEventSchema', 'CloudEventV01Schema'
+ * @return the next update stage
+ */
+ Update withInputSchema(InputSchema inputSchema);
+ }
+
+ /**
+ * The stage of the domain update allowing to specify InputSchemaMapping.
+ */
+ interface WithInputSchemaMapping {
+ /**
+ * Specifies inputSchemaMapping.
+ * @param inputSchemaMapping Information about the InputSchemaMapping which specified the info about mapping event payload
+ * @return the next update stage
+ */
+ Update withInputSchemaMapping(InputSchemaMapping inputSchemaMapping);
+ }
+
+ }
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainProvisioningState.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainProvisioningState.java
new file mode 100644
index 000000000000..502d5d00a1c2
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainProvisioningState.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.eventgrid.v2019_02_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for DomainProvisioningState.
+ */
+public final class DomainProvisioningState extends ExpandableStringEnum {
+ /** Static value Creating for DomainProvisioningState. */
+ public static final DomainProvisioningState CREATING = fromString("Creating");
+
+ /** Static value Updating for DomainProvisioningState. */
+ public static final DomainProvisioningState UPDATING = fromString("Updating");
+
+ /** Static value Deleting for DomainProvisioningState. */
+ public static final DomainProvisioningState DELETING = fromString("Deleting");
+
+ /** Static value Succeeded for DomainProvisioningState. */
+ public static final DomainProvisioningState SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Canceled for DomainProvisioningState. */
+ public static final DomainProvisioningState CANCELED = fromString("Canceled");
+
+ /** Static value Failed for DomainProvisioningState. */
+ public static final DomainProvisioningState FAILED = fromString("Failed");
+
+ /**
+ * Creates or finds a DomainProvisioningState from its string representation.
+ * @param name a name to look for
+ * @return the corresponding DomainProvisioningState
+ */
+ @JsonCreator
+ public static DomainProvisioningState fromString(String name) {
+ return fromString(name, DomainProvisioningState.class);
+ }
+
+ /**
+ * @return known DomainProvisioningState values
+ */
+ public static Collection values() {
+ return values(DomainProvisioningState.class);
+ }
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainRegenerateKeyRequest.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainRegenerateKeyRequest.java
new file mode 100644
index 000000000000..ecadb248da21
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainRegenerateKeyRequest.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.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Domain regenerate share access key request.
+ */
+public class DomainRegenerateKeyRequest {
+ /**
+ * Key name to regenerate key1 or key2.
+ */
+ @JsonProperty(value = "keyName", required = true)
+ private String keyName;
+
+ /**
+ * Get key name to regenerate key1 or key2.
+ *
+ * @return the keyName value
+ */
+ public String keyName() {
+ return this.keyName;
+ }
+
+ /**
+ * Set key name to regenerate key1 or key2.
+ *
+ * @param keyName the keyName value to set
+ * @return the DomainRegenerateKeyRequest object itself.
+ */
+ public DomainRegenerateKeyRequest withKeyName(String keyName) {
+ this.keyName = keyName;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainSharedAccessKeys.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainSharedAccessKeys.java
new file mode 100644
index 000000000000..47b6575f667e
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainSharedAccessKeys.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.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.EventGridManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.DomainSharedAccessKeysInner;
+
+/**
+ * Type representing DomainSharedAccessKeys.
+ */
+public interface DomainSharedAccessKeys extends HasInner, HasManager {
+ /**
+ * @return the key1 value.
+ */
+ String key1();
+
+ /**
+ * @return the key2 value.
+ */
+ String key2();
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainTopic.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainTopic.java
new file mode 100644
index 000000000000..f61bc4f53aa1
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainTopic.java
@@ -0,0 +1,93 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.DomainTopicInner;
+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.eventgrid.v2019_02_01_preview.implementation.EventGridManager;
+
+/**
+ * Type representing DomainTopic.
+ */
+public interface DomainTopic extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the provisioningState value.
+ */
+ DomainTopicProvisioningState provisioningState();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the DomainTopic definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithDomain, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of DomainTopic definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a DomainTopic definition.
+ */
+ interface Blank extends WithDomain {
+ }
+
+ /**
+ * The stage of the domaintopic definition allowing to specify Domain.
+ */
+ interface WithDomain {
+ /**
+ * Specifies resourceGroupName, domainName.
+ * @param resourceGroupName The name of the resource group within the user's subscription
+ * @param domainName Name of the domain
+ * @return the next definition stage
+ */
+ WithCreate withExistingDomain(String resourceGroupName, String domainName);
+ }
+
+ /**
+ * 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 {
+ }
+ }
+ /**
+ * The template for a DomainTopic update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable {
+ }
+
+ /**
+ * Grouping of DomainTopic update stages.
+ */
+ interface UpdateStages {
+ }
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainTopicProvisioningState.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainTopicProvisioningState.java
new file mode 100644
index 000000000000..fa5c651ae407
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainTopicProvisioningState.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.eventgrid.v2019_02_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for DomainTopicProvisioningState.
+ */
+public final class DomainTopicProvisioningState extends ExpandableStringEnum {
+ /** Static value Creating for DomainTopicProvisioningState. */
+ public static final DomainTopicProvisioningState CREATING = fromString("Creating");
+
+ /** Static value Updating for DomainTopicProvisioningState. */
+ public static final DomainTopicProvisioningState UPDATING = fromString("Updating");
+
+ /** Static value Deleting for DomainTopicProvisioningState. */
+ public static final DomainTopicProvisioningState DELETING = fromString("Deleting");
+
+ /** Static value Succeeded for DomainTopicProvisioningState. */
+ public static final DomainTopicProvisioningState SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Canceled for DomainTopicProvisioningState. */
+ public static final DomainTopicProvisioningState CANCELED = fromString("Canceled");
+
+ /** Static value Failed for DomainTopicProvisioningState. */
+ public static final DomainTopicProvisioningState FAILED = fromString("Failed");
+
+ /**
+ * Creates or finds a DomainTopicProvisioningState from its string representation.
+ * @param name a name to look for
+ * @return the corresponding DomainTopicProvisioningState
+ */
+ @JsonCreator
+ public static DomainTopicProvisioningState fromString(String name) {
+ return fromString(name, DomainTopicProvisioningState.class);
+ }
+
+ /**
+ * @return known DomainTopicProvisioningState values
+ */
+ public static Collection values() {
+ return values(DomainTopicProvisioningState.class);
+ }
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainTopics.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainTopics.java
new file mode 100644
index 000000000000..b5924c25a604
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainTopics.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.DomainTopicsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing DomainTopics.
+ */
+public interface DomainTopics extends SupportsCreating, HasInner {
+ /**
+ * Get a domain topic.
+ * Get properties of a domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String domainName, String domainTopicName);
+
+ /**
+ * List domain topics.
+ * List all the topics in a domain.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Domain name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByDomainAsync(final String resourceGroupName, final String domainName);
+
+ /**
+ * Delete a domain topic.
+ * Delete existing domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String domainName, String domainTopicName);
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainUpdateParameters.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainUpdateParameters.java
new file mode 100644
index 000000000000..4ea8ba8dec34
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/DomainUpdateParameters.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.eventgrid.v2019_02_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Properties of the Domain update.
+ */
+public class DomainUpdateParameters {
+ /**
+ * Tags of the domains resource.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * Get tags of the domains resource.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set tags of the domains resource.
+ *
+ * @param tags the tags value to set
+ * @return the DomainUpdateParameters object itself.
+ */
+ public DomainUpdateParameters withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Domains.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Domains.java
new file mode 100644
index 000000000000..6f88b14a1de3
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Domains.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.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup;
+import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion;
+import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup;
+import rx.Observable;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.DomainsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Domains.
+ */
+public interface Domains extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+ /**
+ * List keys for a domain.
+ * List the two keys used to publish to a domain.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listSharedAccessKeysAsync(String resourceGroupName, String domainName);
+
+ /**
+ * Regenerate key for a domain.
+ * Regenerate a shared access key for a domain.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param keyName Key name to regenerate key1 or key2
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable regenerateKeyAsync(String resourceGroupName, String domainName, String keyName);
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventDeliverySchema.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventDeliverySchema.java
new file mode 100644
index 000000000000..c58808ce1baa
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventDeliverySchema.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.eventgrid.v2019_02_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for EventDeliverySchema.
+ */
+public final class EventDeliverySchema extends ExpandableStringEnum {
+ /** Static value EventGridSchema for EventDeliverySchema. */
+ public static final EventDeliverySchema EVENT_GRID_SCHEMA = fromString("EventGridSchema");
+
+ /** Static value CloudEventV01Schema for EventDeliverySchema. */
+ public static final EventDeliverySchema CLOUD_EVENT_V01SCHEMA = fromString("CloudEventV01Schema");
+
+ /** Static value CustomInputSchema for EventDeliverySchema. */
+ public static final EventDeliverySchema CUSTOM_INPUT_SCHEMA = fromString("CustomInputSchema");
+
+ /**
+ * Creates or finds a EventDeliverySchema from its string representation.
+ * @param name a name to look for
+ * @return the corresponding EventDeliverySchema
+ */
+ @JsonCreator
+ public static EventDeliverySchema fromString(String name) {
+ return fromString(name, EventDeliverySchema.class);
+ }
+
+ /**
+ * @return known EventDeliverySchema values
+ */
+ public static Collection values() {
+ return values(EventDeliverySchema.class);
+ }
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventHubEventSubscriptionDestination.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventHubEventSubscriptionDestination.java
new file mode 100644
index 000000000000..57432b496479
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventHubEventSubscriptionDestination.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.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Information about the event hub destination for an event subscription.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "endpointType", defaultImpl = EventHubEventSubscriptionDestination.class)
+@JsonTypeName("EventHub")
+@JsonFlatten
+public class EventHubEventSubscriptionDestination extends EventSubscriptionDestination {
+ /**
+ * The Azure Resource Id that represents the endpoint of an Event Hub
+ * destination of an event subscription.
+ */
+ @JsonProperty(value = "properties.resourceId")
+ private String resourceId;
+
+ /**
+ * Get the Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription.
+ *
+ * @return the resourceId value
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Set the Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription.
+ *
+ * @param resourceId the resourceId value to set
+ * @return the EventHubEventSubscriptionDestination object itself.
+ */
+ public EventHubEventSubscriptionDestination withResourceId(String resourceId) {
+ this.resourceId = resourceId;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscription.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscription.java
new file mode 100644
index 000000000000..f2e4f9989675
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscription.java
@@ -0,0 +1,302 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.EventSubscriptionInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.EventGridManager;
+import java.util.List;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing EventSubscription.
+ */
+public interface EventSubscription extends HasInner, Indexable, Updatable, Refreshable, HasManager {
+ /**
+ * @return the deadLetterDestination value.
+ */
+ DeadLetterDestination deadLetterDestination();
+
+ /**
+ * @return the destination value.
+ */
+ EventSubscriptionDestination destination();
+
+ /**
+ * @return the eventDeliverySchema value.
+ */
+ EventDeliverySchema eventDeliverySchema();
+
+ /**
+ * @return the expirationTimeUtc value.
+ */
+ DateTime expirationTimeUtc();
+
+ /**
+ * @return the filter value.
+ */
+ EventSubscriptionFilter filter();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the labels value.
+ */
+ List labels();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the provisioningState value.
+ */
+ EventSubscriptionProvisioningState provisioningState();
+
+ /**
+ * @return the retryPolicy value.
+ */
+ RetryPolicy retryPolicy();
+
+ /**
+ * @return the topic value.
+ */
+ String topic();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the EventSubscription definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithScope, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of EventSubscription definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a EventSubscription definition.
+ */
+ interface Blank extends WithScope {
+ }
+
+ /**
+ * The stage of the eventsubscription definition allowing to specify Scope.
+ */
+ interface WithScope {
+ /**
+ * Specifies scope.
+ * @param scope The identifier of the resource to which the event subscription needs to be created or updated. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic
+ * @return the next definition stage
+ */
+ WithCreate withScope(String scope);
+ }
+
+ /**
+ * The stage of the eventsubscription definition allowing to specify DeadLetterDestination.
+ */
+ interface WithDeadLetterDestination {
+ /**
+ * Specifies deadLetterDestination.
+ * @param deadLetterDestination The DeadLetter destination of the event subscription
+ * @return the next definition stage
+ */
+ WithCreate withDeadLetterDestination(DeadLetterDestination deadLetterDestination);
+ }
+
+ /**
+ * The stage of the eventsubscription definition allowing to specify Destination.
+ */
+ interface WithDestination {
+ /**
+ * Specifies destination.
+ * @param destination Information about the destination where events have to be delivered for the event subscription
+ * @return the next definition stage
+ */
+ WithCreate withDestination(EventSubscriptionDestination destination);
+ }
+
+ /**
+ * The stage of the eventsubscription definition allowing to specify EventDeliverySchema.
+ */
+ interface WithEventDeliverySchema {
+ /**
+ * Specifies eventDeliverySchema.
+ * @param eventDeliverySchema The event delivery schema for the event subscription. Possible values include: 'EventGridSchema', 'CloudEventV01Schema', 'CustomInputSchema'
+ * @return the next definition stage
+ */
+ WithCreate withEventDeliverySchema(EventDeliverySchema eventDeliverySchema);
+ }
+
+ /**
+ * The stage of the eventsubscription definition allowing to specify ExpirationTimeUtc.
+ */
+ interface WithExpirationTimeUtc {
+ /**
+ * Specifies expirationTimeUtc.
+ * @param expirationTimeUtc Expiration time of the event subscription
+ * @return the next definition stage
+ */
+ WithCreate withExpirationTimeUtc(DateTime expirationTimeUtc);
+ }
+
+ /**
+ * The stage of the eventsubscription definition allowing to specify Filter.
+ */
+ interface WithFilter {
+ /**
+ * Specifies filter.
+ * @param filter Information about the filter for the event subscription
+ * @return the next definition stage
+ */
+ WithCreate withFilter(EventSubscriptionFilter filter);
+ }
+
+ /**
+ * The stage of the eventsubscription definition allowing to specify Labels.
+ */
+ interface WithLabels {
+ /**
+ * Specifies labels.
+ * @param labels List of user defined labels
+ * @return the next definition stage
+ */
+ WithCreate withLabels(List labels);
+ }
+
+ /**
+ * The stage of the eventsubscription definition allowing to specify RetryPolicy.
+ */
+ interface WithRetryPolicy {
+ /**
+ * Specifies retryPolicy.
+ * @param retryPolicy The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events
+ * @return the next definition stage
+ */
+ WithCreate withRetryPolicy(RetryPolicy retryPolicy);
+ }
+
+ /**
+ * 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.WithDeadLetterDestination, DefinitionStages.WithDestination, DefinitionStages.WithEventDeliverySchema, DefinitionStages.WithExpirationTimeUtc, DefinitionStages.WithFilter, DefinitionStages.WithLabels, DefinitionStages.WithRetryPolicy {
+ }
+ }
+ /**
+ * The template for a EventSubscription update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithDeadLetterDestination, UpdateStages.WithDestination, UpdateStages.WithEventDeliverySchema, UpdateStages.WithExpirationTimeUtc, UpdateStages.WithFilter, UpdateStages.WithLabels, UpdateStages.WithRetryPolicy {
+ }
+
+ /**
+ * Grouping of EventSubscription update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the eventsubscription update allowing to specify DeadLetterDestination.
+ */
+ interface WithDeadLetterDestination {
+ /**
+ * Specifies deadLetterDestination.
+ * @param deadLetterDestination The DeadLetter destination of the event subscription
+ * @return the next update stage
+ */
+ Update withDeadLetterDestination(DeadLetterDestination deadLetterDestination);
+ }
+
+ /**
+ * The stage of the eventsubscription update allowing to specify Destination.
+ */
+ interface WithDestination {
+ /**
+ * Specifies destination.
+ * @param destination Information about the destination where events have to be delivered for the event subscription
+ * @return the next update stage
+ */
+ Update withDestination(EventSubscriptionDestination destination);
+ }
+
+ /**
+ * The stage of the eventsubscription update allowing to specify EventDeliverySchema.
+ */
+ interface WithEventDeliverySchema {
+ /**
+ * Specifies eventDeliverySchema.
+ * @param eventDeliverySchema The event delivery schema for the event subscription. Possible values include: 'EventGridSchema', 'CloudEventV01Schema', 'CustomInputSchema'
+ * @return the next update stage
+ */
+ Update withEventDeliverySchema(EventDeliverySchema eventDeliverySchema);
+ }
+
+ /**
+ * The stage of the eventsubscription update allowing to specify ExpirationTimeUtc.
+ */
+ interface WithExpirationTimeUtc {
+ /**
+ * Specifies expirationTimeUtc.
+ * @param expirationTimeUtc Information about the expiration time for the event subscription
+ * @return the next update stage
+ */
+ Update withExpirationTimeUtc(DateTime expirationTimeUtc);
+ }
+
+ /**
+ * The stage of the eventsubscription update allowing to specify Filter.
+ */
+ interface WithFilter {
+ /**
+ * Specifies filter.
+ * @param filter Information about the filter for the event subscription
+ * @return the next update stage
+ */
+ Update withFilter(EventSubscriptionFilter filter);
+ }
+
+ /**
+ * The stage of the eventsubscription update allowing to specify Labels.
+ */
+ interface WithLabels {
+ /**
+ * Specifies labels.
+ * @param labels List of user defined labels
+ * @return the next update stage
+ */
+ Update withLabels(List labels);
+ }
+
+ /**
+ * The stage of the eventsubscription update allowing to specify RetryPolicy.
+ */
+ interface WithRetryPolicy {
+ /**
+ * Specifies retryPolicy.
+ * @param retryPolicy The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events
+ * @return the next update stage
+ */
+ Update withRetryPolicy(RetryPolicy retryPolicy);
+ }
+
+ }
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionDestination.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionDestination.java
new file mode 100644
index 000000000000..37ed6acf8f9a
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionDestination.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Information about the destination for an event subscription.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "endpointType", defaultImpl = EventSubscriptionDestination.class)
+@JsonTypeName("EventSubscriptionDestination")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "WebHook", value = WebHookEventSubscriptionDestination.class),
+ @JsonSubTypes.Type(name = "EventHub", value = EventHubEventSubscriptionDestination.class),
+ @JsonSubTypes.Type(name = "StorageQueue", value = StorageQueueEventSubscriptionDestination.class),
+ @JsonSubTypes.Type(name = "HybridConnection", value = HybridConnectionEventSubscriptionDestination.class),
+ @JsonSubTypes.Type(name = "ServiceBusQueue", value = ServiceBusQueueEventSubscriptionDestination.class)
+})
+public class EventSubscriptionDestination {
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionFilter.java
new file mode 100644
index 000000000000..e4222254e9f1
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionFilter.java
@@ -0,0 +1,166 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Filter for the Event Subscription.
+ */
+public class EventSubscriptionFilter {
+ /**
+ * An optional string to filter events for an event subscription based on a
+ * resource path prefix.
+ * The format of this depends on the publisher of the events.
+ * Wildcard characters are not supported in this path.
+ */
+ @JsonProperty(value = "subjectBeginsWith")
+ private String subjectBeginsWith;
+
+ /**
+ * An optional string to filter events for an event subscription based on a
+ * resource path suffix.
+ * Wildcard characters are not supported in this path.
+ */
+ @JsonProperty(value = "subjectEndsWith")
+ private String subjectEndsWith;
+
+ /**
+ * A list of applicable event types that need to be part of the event
+ * subscription. If it is desired to subscribe to all default event types,
+ * set the IncludedEventTypes to null.
+ */
+ @JsonProperty(value = "includedEventTypes")
+ private List includedEventTypes;
+
+ /**
+ * Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the
+ * filter
+ * should be compared in a case sensitive manner.
+ */
+ @JsonProperty(value = "isSubjectCaseSensitive")
+ private Boolean isSubjectCaseSensitive;
+
+ /**
+ * An array of advanced filters that are used for filtering event
+ * subscriptions.
+ */
+ @JsonProperty(value = "advancedFilters")
+ private List advancedFilters;
+
+ /**
+ * Get an optional string to filter events for an event subscription based on a resource path prefix.
+ The format of this depends on the publisher of the events.
+ Wildcard characters are not supported in this path.
+ *
+ * @return the subjectBeginsWith value
+ */
+ public String subjectBeginsWith() {
+ return this.subjectBeginsWith;
+ }
+
+ /**
+ * Set an optional string to filter events for an event subscription based on a resource path prefix.
+ The format of this depends on the publisher of the events.
+ Wildcard characters are not supported in this path.
+ *
+ * @param subjectBeginsWith the subjectBeginsWith value to set
+ * @return the EventSubscriptionFilter object itself.
+ */
+ public EventSubscriptionFilter withSubjectBeginsWith(String subjectBeginsWith) {
+ this.subjectBeginsWith = subjectBeginsWith;
+ return this;
+ }
+
+ /**
+ * Get an optional string to filter events for an event subscription based on a resource path suffix.
+ Wildcard characters are not supported in this path.
+ *
+ * @return the subjectEndsWith value
+ */
+ public String subjectEndsWith() {
+ return this.subjectEndsWith;
+ }
+
+ /**
+ * Set an optional string to filter events for an event subscription based on a resource path suffix.
+ Wildcard characters are not supported in this path.
+ *
+ * @param subjectEndsWith the subjectEndsWith value to set
+ * @return the EventSubscriptionFilter object itself.
+ */
+ public EventSubscriptionFilter withSubjectEndsWith(String subjectEndsWith) {
+ this.subjectEndsWith = subjectEndsWith;
+ return this;
+ }
+
+ /**
+ * Get a list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all default event types, set the IncludedEventTypes to null.
+ *
+ * @return the includedEventTypes value
+ */
+ public List includedEventTypes() {
+ return this.includedEventTypes;
+ }
+
+ /**
+ * Set a list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all default event types, set the IncludedEventTypes to null.
+ *
+ * @param includedEventTypes the includedEventTypes value to set
+ * @return the EventSubscriptionFilter object itself.
+ */
+ public EventSubscriptionFilter withIncludedEventTypes(List includedEventTypes) {
+ this.includedEventTypes = includedEventTypes;
+ return this;
+ }
+
+ /**
+ * Get specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter
+ should be compared in a case sensitive manner.
+ *
+ * @return the isSubjectCaseSensitive value
+ */
+ public Boolean isSubjectCaseSensitive() {
+ return this.isSubjectCaseSensitive;
+ }
+
+ /**
+ * Set specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter
+ should be compared in a case sensitive manner.
+ *
+ * @param isSubjectCaseSensitive the isSubjectCaseSensitive value to set
+ * @return the EventSubscriptionFilter object itself.
+ */
+ public EventSubscriptionFilter withIsSubjectCaseSensitive(Boolean isSubjectCaseSensitive) {
+ this.isSubjectCaseSensitive = isSubjectCaseSensitive;
+ return this;
+ }
+
+ /**
+ * Get an array of advanced filters that are used for filtering event subscriptions.
+ *
+ * @return the advancedFilters value
+ */
+ public List advancedFilters() {
+ return this.advancedFilters;
+ }
+
+ /**
+ * Set an array of advanced filters that are used for filtering event subscriptions.
+ *
+ * @param advancedFilters the advancedFilters value to set
+ * @return the EventSubscriptionFilter object itself.
+ */
+ public EventSubscriptionFilter withAdvancedFilters(List advancedFilters) {
+ this.advancedFilters = advancedFilters;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionFullUrl.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionFullUrl.java
new file mode 100644
index 000000000000..3104aa6994fa
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionFullUrl.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.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.EventGridManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.EventSubscriptionFullUrlInner;
+
+/**
+ * Type representing EventSubscriptionFullUrl.
+ */
+public interface EventSubscriptionFullUrl extends HasInner, HasManager {
+ /**
+ * @return the endpointUrl value.
+ */
+ String endpointUrl();
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionProvisioningState.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionProvisioningState.java
new file mode 100644
index 000000000000..9546044a07ee
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionProvisioningState.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for EventSubscriptionProvisioningState.
+ */
+public final class EventSubscriptionProvisioningState extends ExpandableStringEnum {
+ /** Static value Creating for EventSubscriptionProvisioningState. */
+ public static final EventSubscriptionProvisioningState CREATING = fromString("Creating");
+
+ /** Static value Updating for EventSubscriptionProvisioningState. */
+ public static final EventSubscriptionProvisioningState UPDATING = fromString("Updating");
+
+ /** Static value Deleting for EventSubscriptionProvisioningState. */
+ public static final EventSubscriptionProvisioningState DELETING = fromString("Deleting");
+
+ /** Static value Succeeded for EventSubscriptionProvisioningState. */
+ public static final EventSubscriptionProvisioningState SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Canceled for EventSubscriptionProvisioningState. */
+ public static final EventSubscriptionProvisioningState CANCELED = fromString("Canceled");
+
+ /** Static value Failed for EventSubscriptionProvisioningState. */
+ public static final EventSubscriptionProvisioningState FAILED = fromString("Failed");
+
+ /** Static value AwaitingManualAction for EventSubscriptionProvisioningState. */
+ public static final EventSubscriptionProvisioningState AWAITING_MANUAL_ACTION = fromString("AwaitingManualAction");
+
+ /**
+ * Creates or finds a EventSubscriptionProvisioningState from its string representation.
+ * @param name a name to look for
+ * @return the corresponding EventSubscriptionProvisioningState
+ */
+ @JsonCreator
+ public static EventSubscriptionProvisioningState fromString(String name) {
+ return fromString(name, EventSubscriptionProvisioningState.class);
+ }
+
+ /**
+ * @return known EventSubscriptionProvisioningState values
+ */
+ public static Collection values() {
+ return values(EventSubscriptionProvisioningState.class);
+ }
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionUpdateParameters.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionUpdateParameters.java
new file mode 100644
index 000000000000..c0d2d156765a
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptionUpdateParameters.java
@@ -0,0 +1,204 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import java.util.List;
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Properties of the Event Subscription update.
+ */
+public class EventSubscriptionUpdateParameters {
+ /**
+ * Information about the destination where events have to be delivered for
+ * the event subscription.
+ */
+ @JsonProperty(value = "destination")
+ private EventSubscriptionDestination destination;
+
+ /**
+ * Information about the filter for the event subscription.
+ */
+ @JsonProperty(value = "filter")
+ private EventSubscriptionFilter filter;
+
+ /**
+ * List of user defined labels.
+ */
+ @JsonProperty(value = "labels")
+ private List labels;
+
+ /**
+ * Information about the expiration time for the event subscription.
+ */
+ @JsonProperty(value = "expirationTimeUtc")
+ private DateTime expirationTimeUtc;
+
+ /**
+ * The event delivery schema for the event subscription. Possible values
+ * include: 'EventGridSchema', 'CloudEventV01Schema', 'CustomInputSchema'.
+ */
+ @JsonProperty(value = "eventDeliverySchema")
+ private EventDeliverySchema eventDeliverySchema;
+
+ /**
+ * The retry policy for events. This can be used to configure maximum
+ * number of delivery attempts and time to live for events.
+ */
+ @JsonProperty(value = "retryPolicy")
+ private RetryPolicy retryPolicy;
+
+ /**
+ * The DeadLetter destination of the event subscription.
+ */
+ @JsonProperty(value = "deadLetterDestination")
+ private DeadLetterDestination deadLetterDestination;
+
+ /**
+ * Get information about the destination where events have to be delivered for the event subscription.
+ *
+ * @return the destination value
+ */
+ public EventSubscriptionDestination destination() {
+ return this.destination;
+ }
+
+ /**
+ * Set information about the destination where events have to be delivered for the event subscription.
+ *
+ * @param destination the destination value to set
+ * @return the EventSubscriptionUpdateParameters object itself.
+ */
+ public EventSubscriptionUpdateParameters withDestination(EventSubscriptionDestination destination) {
+ this.destination = destination;
+ return this;
+ }
+
+ /**
+ * Get information about the filter for the event subscription.
+ *
+ * @return the filter value
+ */
+ public EventSubscriptionFilter filter() {
+ return this.filter;
+ }
+
+ /**
+ * Set information about the filter for the event subscription.
+ *
+ * @param filter the filter value to set
+ * @return the EventSubscriptionUpdateParameters object itself.
+ */
+ public EventSubscriptionUpdateParameters withFilter(EventSubscriptionFilter filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ /**
+ * Get list of user defined labels.
+ *
+ * @return the labels value
+ */
+ public List labels() {
+ return this.labels;
+ }
+
+ /**
+ * Set list of user defined labels.
+ *
+ * @param labels the labels value to set
+ * @return the EventSubscriptionUpdateParameters object itself.
+ */
+ public EventSubscriptionUpdateParameters withLabels(List labels) {
+ this.labels = labels;
+ return this;
+ }
+
+ /**
+ * Get information about the expiration time for the event subscription.
+ *
+ * @return the expirationTimeUtc value
+ */
+ public DateTime expirationTimeUtc() {
+ return this.expirationTimeUtc;
+ }
+
+ /**
+ * Set information about the expiration time for the event subscription.
+ *
+ * @param expirationTimeUtc the expirationTimeUtc value to set
+ * @return the EventSubscriptionUpdateParameters object itself.
+ */
+ public EventSubscriptionUpdateParameters withExpirationTimeUtc(DateTime expirationTimeUtc) {
+ this.expirationTimeUtc = expirationTimeUtc;
+ return this;
+ }
+
+ /**
+ * Get the event delivery schema for the event subscription. Possible values include: 'EventGridSchema', 'CloudEventV01Schema', 'CustomInputSchema'.
+ *
+ * @return the eventDeliverySchema value
+ */
+ public EventDeliverySchema eventDeliverySchema() {
+ return this.eventDeliverySchema;
+ }
+
+ /**
+ * Set the event delivery schema for the event subscription. Possible values include: 'EventGridSchema', 'CloudEventV01Schema', 'CustomInputSchema'.
+ *
+ * @param eventDeliverySchema the eventDeliverySchema value to set
+ * @return the EventSubscriptionUpdateParameters object itself.
+ */
+ public EventSubscriptionUpdateParameters withEventDeliverySchema(EventDeliverySchema eventDeliverySchema) {
+ this.eventDeliverySchema = eventDeliverySchema;
+ return this;
+ }
+
+ /**
+ * Get the retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events.
+ *
+ * @return the retryPolicy value
+ */
+ public RetryPolicy retryPolicy() {
+ return this.retryPolicy;
+ }
+
+ /**
+ * Set the retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events.
+ *
+ * @param retryPolicy the retryPolicy value to set
+ * @return the EventSubscriptionUpdateParameters object itself.
+ */
+ public EventSubscriptionUpdateParameters withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = retryPolicy;
+ return this;
+ }
+
+ /**
+ * Get the DeadLetter destination of the event subscription.
+ *
+ * @return the deadLetterDestination value
+ */
+ public DeadLetterDestination deadLetterDestination() {
+ return this.deadLetterDestination;
+ }
+
+ /**
+ * Set the DeadLetter destination of the event subscription.
+ *
+ * @param deadLetterDestination the deadLetterDestination value to set
+ * @return the EventSubscriptionUpdateParameters object itself.
+ */
+ public EventSubscriptionUpdateParameters withDeadLetterDestination(DeadLetterDestination deadLetterDestination) {
+ this.deadLetterDestination = deadLetterDestination;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptions.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptions.java
new file mode 100644
index 000000000000..681bd5b64282
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventSubscriptions.java
@@ -0,0 +1,146 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.EventSubscriptionsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing EventSubscriptions.
+ */
+public interface EventSubscriptions extends SupportsCreating, SupportsListingByResourceGroup, SupportsListing, HasInner {
+ /**
+ * Get an event subscription.
+ * Get properties of an event subscription.
+ *
+ * @param scope The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.
+ * @param eventSubscriptionName Name of the event subscription
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String scope, String eventSubscriptionName);
+
+ /**
+ * Delete an event subscription.
+ * Delete an existing event subscription.
+ *
+ * @param scope The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.
+ * @param eventSubscriptionName Name of the event subscription
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String scope, String eventSubscriptionName);
+
+ /**
+ * Get full URL of an event subscription.
+ * Get the full endpoint URL for an event subscription.
+ *
+ * @param scope The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.
+ * @param eventSubscriptionName Name of the event subscription
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getFullUrlAsync(String scope, String eventSubscriptionName);
+
+ /**
+ * List all global event subscriptions for a topic type.
+ * List all global event subscriptions under an Azure subscription for a topic type.
+ *
+ * @param topicTypeName Name of the topic type
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listGlobalBySubscriptionForTopicTypeAsync(final String topicTypeName);
+
+ /**
+ * List all global event subscriptions under a resource group for a topic type.
+ * List all global event subscriptions under a resource group for a specific topic type.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param topicTypeName Name of the topic type
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listGlobalByResourceGroupForTopicTypeAsync(final String resourceGroupName, final String topicTypeName);
+
+ /**
+ * List all regional event subscriptions under an Azure subscription.
+ * List all event subscriptions from the given location under a specific Azure subscription.
+ *
+ * @param location Name of the location
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listRegionalBySubscriptionAsync(final String location);
+
+ /**
+ * List all regional event subscriptions under an Azure subscription and resource group.
+ * List all event subscriptions from the given location under a specific Azure subscription and resource group.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param location Name of the location
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listRegionalByResourceGroupAsync(final String resourceGroupName, final String location);
+
+ /**
+ * List all regional event subscriptions under an Azure subscription for a topic type.
+ * List all event subscriptions from the given location under a specific Azure subscription and topic type.
+ *
+ * @param location Name of the location
+ * @param topicTypeName Name of the topic type
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listRegionalBySubscriptionForTopicTypeAsync(final String location, final String topicTypeName);
+
+ /**
+ * List all regional event subscriptions under an Azure subscription and resource group for a topic type.
+ * List all event subscriptions from the given location under a specific Azure subscription and resource group and topic type.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param location Name of the location
+ * @param topicTypeName Name of the topic type
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listRegionalByResourceGroupForTopicTypeAsync(final String resourceGroupName, final String location, final String topicTypeName);
+
+ /**
+ * List all event subscriptions for a specific topic.
+ * List all event subscriptions that have been created for a specific topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param providerNamespace Namespace of the provider of the topic
+ * @param resourceTypeName Name of the resource type
+ * @param resourceName Name of the resource
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByResourceAsync(final String resourceGroupName, final String providerNamespace, final String resourceTypeName, final String resourceName);
+
+ /**
+ * List all event subscriptions for a specific domain topic.
+ * List all event subscriptions that have been created for a specific domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the top level domain
+ * @param topicName Name of the domain topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByDomainTopicAsync(final String resourceGroupName, final String domainName, final String topicName);
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventType.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventType.java
new file mode 100644
index 000000000000..26c6ae4a9386
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/EventType.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.EventTypeInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.EventGridManager;
+
+/**
+ * Type representing EventType.
+ */
+public interface EventType extends HasInner, HasManager {
+ /**
+ * @return the description value.
+ */
+ String description();
+
+ /**
+ * @return the displayName value.
+ */
+ String displayName();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the isInDefaultSet value.
+ */
+ Boolean isInDefaultSet();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the schemaUrl value.
+ */
+ String schemaUrl();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/HybridConnectionEventSubscriptionDestination.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/HybridConnectionEventSubscriptionDestination.java
new file mode 100644
index 000000000000..0a50dcb43b5d
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/HybridConnectionEventSubscriptionDestination.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Information about the HybridConnection destination for an event
+ * subscription.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "endpointType", defaultImpl = HybridConnectionEventSubscriptionDestination.class)
+@JsonTypeName("HybridConnection")
+@JsonFlatten
+public class HybridConnectionEventSubscriptionDestination extends EventSubscriptionDestination {
+ /**
+ * The Azure Resource ID of an hybrid connection that is the destination of
+ * an event subscription.
+ */
+ @JsonProperty(value = "properties.resourceId")
+ private String resourceId;
+
+ /**
+ * Get the Azure Resource ID of an hybrid connection that is the destination of an event subscription.
+ *
+ * @return the resourceId value
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Set the Azure Resource ID of an hybrid connection that is the destination of an event subscription.
+ *
+ * @param resourceId the resourceId value to set
+ * @return the HybridConnectionEventSubscriptionDestination object itself.
+ */
+ public HybridConnectionEventSubscriptionDestination withResourceId(String resourceId) {
+ this.resourceId = resourceId;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/InputSchema.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/InputSchema.java
new file mode 100644
index 000000000000..3c9c10cd1a5f
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/InputSchema.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.eventgrid.v2019_02_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for InputSchema.
+ */
+public final class InputSchema extends ExpandableStringEnum {
+ /** Static value EventGridSchema for InputSchema. */
+ public static final InputSchema EVENT_GRID_SCHEMA = fromString("EventGridSchema");
+
+ /** Static value CustomEventSchema for InputSchema. */
+ public static final InputSchema CUSTOM_EVENT_SCHEMA = fromString("CustomEventSchema");
+
+ /** Static value CloudEventV01Schema for InputSchema. */
+ public static final InputSchema CLOUD_EVENT_V01SCHEMA = fromString("CloudEventV01Schema");
+
+ /**
+ * Creates or finds a InputSchema from its string representation.
+ * @param name a name to look for
+ * @return the corresponding InputSchema
+ */
+ @JsonCreator
+ public static InputSchema fromString(String name) {
+ return fromString(name, InputSchema.class);
+ }
+
+ /**
+ * @return known InputSchema values
+ */
+ public static Collection values() {
+ return values(InputSchema.class);
+ }
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/InputSchemaMapping.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/InputSchemaMapping.java
new file mode 100644
index 000000000000..a53d017a0cf3
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/InputSchemaMapping.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.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * By default, Event Grid expects events to be in the Event Grid event schema.
+ * Specifying an input schema mapping enables publishing to Event Grid using a
+ * custom input schema. Currently, the only supported type of
+ * InputSchemaMapping is 'JsonInputSchemaMapping'.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "inputSchemaMappingType", defaultImpl = InputSchemaMapping.class)
+@JsonTypeName("InputSchemaMapping")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "Json", value = JsonInputSchemaMapping.class)
+})
+public class InputSchemaMapping {
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/JsonField.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/JsonField.java
new file mode 100644
index 000000000000..cf09d9897a1b
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/JsonField.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.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * This is used to express the source of an input schema mapping for a single
+ * target field in the Event Grid Event schema. This is currently used in the
+ * mappings for the 'id', 'topic' and 'eventtime' properties. This represents a
+ * field in the input event schema.
+ */
+public class JsonField {
+ /**
+ * Name of a field in the input event schema that's to be used as the
+ * source of a mapping.
+ */
+ @JsonProperty(value = "sourceField")
+ private String sourceField;
+
+ /**
+ * Get name of a field in the input event schema that's to be used as the source of a mapping.
+ *
+ * @return the sourceField value
+ */
+ public String sourceField() {
+ return this.sourceField;
+ }
+
+ /**
+ * Set name of a field in the input event schema that's to be used as the source of a mapping.
+ *
+ * @param sourceField the sourceField value to set
+ * @return the JsonField object itself.
+ */
+ public JsonField withSourceField(String sourceField) {
+ this.sourceField = sourceField;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/JsonFieldWithDefault.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/JsonFieldWithDefault.java
new file mode 100644
index 000000000000..6f13a410ea0c
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/JsonFieldWithDefault.java
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * This is used to express the source of an input schema mapping for a single
+ * target field
+ * in the Event Grid Event schema. This is currently used in the mappings for
+ * the 'subject',
+ * 'eventtype' and 'dataversion' properties. This represents a field in the
+ * input event schema
+ * along with a default value to be used, and at least one of these two
+ * properties should be provided.
+ */
+public class JsonFieldWithDefault {
+ /**
+ * Name of a field in the input event schema that's to be used as the
+ * source of a mapping.
+ */
+ @JsonProperty(value = "sourceField")
+ private String sourceField;
+
+ /**
+ * The default value to be used for mapping when a SourceField is not
+ * provided or if there's no property with the specified name in the
+ * published JSON event payload.
+ */
+ @JsonProperty(value = "defaultValue")
+ private String defaultValue;
+
+ /**
+ * Get name of a field in the input event schema that's to be used as the source of a mapping.
+ *
+ * @return the sourceField value
+ */
+ public String sourceField() {
+ return this.sourceField;
+ }
+
+ /**
+ * Set name of a field in the input event schema that's to be used as the source of a mapping.
+ *
+ * @param sourceField the sourceField value to set
+ * @return the JsonFieldWithDefault object itself.
+ */
+ public JsonFieldWithDefault withSourceField(String sourceField) {
+ this.sourceField = sourceField;
+ return this;
+ }
+
+ /**
+ * Get the default value to be used for mapping when a SourceField is not provided or if there's no property with the specified name in the published JSON event payload.
+ *
+ * @return the defaultValue value
+ */
+ public String defaultValue() {
+ return this.defaultValue;
+ }
+
+ /**
+ * Set the default value to be used for mapping when a SourceField is not provided or if there's no property with the specified name in the published JSON event payload.
+ *
+ * @param defaultValue the defaultValue value to set
+ * @return the JsonFieldWithDefault object itself.
+ */
+ public JsonFieldWithDefault withDefaultValue(String defaultValue) {
+ this.defaultValue = defaultValue;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/JsonInputSchemaMapping.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/JsonInputSchemaMapping.java
new file mode 100644
index 000000000000..1f8a74b32c24
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/JsonInputSchemaMapping.java
@@ -0,0 +1,185 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * This enables publishing to Event Grid using a custom input schema. This can
+ * be used to map properties from a custom input JSON schema to the Event Grid
+ * event schema.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "inputSchemaMappingType", defaultImpl = JsonInputSchemaMapping.class)
+@JsonTypeName("Json")
+@JsonFlatten
+public class JsonInputSchemaMapping extends InputSchemaMapping {
+ /**
+ * The mapping information for the Id property of the Event Grid Event.
+ */
+ @JsonProperty(value = "properties.id")
+ private JsonField id;
+
+ /**
+ * The mapping information for the Topic property of the Event Grid Event.
+ */
+ @JsonProperty(value = "properties.topic")
+ private JsonField topic;
+
+ /**
+ * The mapping information for the EventTime property of the Event Grid
+ * Event.
+ */
+ @JsonProperty(value = "properties.eventTime")
+ private JsonField eventTime;
+
+ /**
+ * The mapping information for the EventType property of the Event Grid
+ * Event.
+ */
+ @JsonProperty(value = "properties.eventType")
+ private JsonFieldWithDefault eventType;
+
+ /**
+ * The mapping information for the Subject property of the Event Grid
+ * Event.
+ */
+ @JsonProperty(value = "properties.subject")
+ private JsonFieldWithDefault subject;
+
+ /**
+ * The mapping information for the DataVersion property of the Event Grid
+ * Event.
+ */
+ @JsonProperty(value = "properties.dataVersion")
+ private JsonFieldWithDefault dataVersion;
+
+ /**
+ * Get the mapping information for the Id property of the Event Grid Event.
+ *
+ * @return the id value
+ */
+ public JsonField id() {
+ return this.id;
+ }
+
+ /**
+ * Set the mapping information for the Id property of the Event Grid Event.
+ *
+ * @param id the id value to set
+ * @return the JsonInputSchemaMapping object itself.
+ */
+ public JsonInputSchemaMapping withId(JsonField id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the mapping information for the Topic property of the Event Grid Event.
+ *
+ * @return the topic value
+ */
+ public JsonField topic() {
+ return this.topic;
+ }
+
+ /**
+ * Set the mapping information for the Topic property of the Event Grid Event.
+ *
+ * @param topic the topic value to set
+ * @return the JsonInputSchemaMapping object itself.
+ */
+ public JsonInputSchemaMapping withTopic(JsonField topic) {
+ this.topic = topic;
+ return this;
+ }
+
+ /**
+ * Get the mapping information for the EventTime property of the Event Grid Event.
+ *
+ * @return the eventTime value
+ */
+ public JsonField eventTime() {
+ return this.eventTime;
+ }
+
+ /**
+ * Set the mapping information for the EventTime property of the Event Grid Event.
+ *
+ * @param eventTime the eventTime value to set
+ * @return the JsonInputSchemaMapping object itself.
+ */
+ public JsonInputSchemaMapping withEventTime(JsonField eventTime) {
+ this.eventTime = eventTime;
+ return this;
+ }
+
+ /**
+ * Get the mapping information for the EventType property of the Event Grid Event.
+ *
+ * @return the eventType value
+ */
+ public JsonFieldWithDefault eventType() {
+ return this.eventType;
+ }
+
+ /**
+ * Set the mapping information for the EventType property of the Event Grid Event.
+ *
+ * @param eventType the eventType value to set
+ * @return the JsonInputSchemaMapping object itself.
+ */
+ public JsonInputSchemaMapping withEventType(JsonFieldWithDefault eventType) {
+ this.eventType = eventType;
+ return this;
+ }
+
+ /**
+ * Get the mapping information for the Subject property of the Event Grid Event.
+ *
+ * @return the subject value
+ */
+ public JsonFieldWithDefault subject() {
+ return this.subject;
+ }
+
+ /**
+ * Set the mapping information for the Subject property of the Event Grid Event.
+ *
+ * @param subject the subject value to set
+ * @return the JsonInputSchemaMapping object itself.
+ */
+ public JsonInputSchemaMapping withSubject(JsonFieldWithDefault subject) {
+ this.subject = subject;
+ return this;
+ }
+
+ /**
+ * Get the mapping information for the DataVersion property of the Event Grid Event.
+ *
+ * @return the dataVersion value
+ */
+ public JsonFieldWithDefault dataVersion() {
+ return this.dataVersion;
+ }
+
+ /**
+ * Set the mapping information for the DataVersion property of the Event Grid Event.
+ *
+ * @param dataVersion the dataVersion value to set
+ * @return the JsonInputSchemaMapping object itself.
+ */
+ public JsonInputSchemaMapping withDataVersion(JsonFieldWithDefault dataVersion) {
+ this.dataVersion = dataVersion;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberGreaterThanAdvancedFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberGreaterThanAdvancedFilter.java
new file mode 100644
index 000000000000..08b9c793ed3e
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberGreaterThanAdvancedFilter.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.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * NumberGreaterThan Advanced Filter.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operatorType", defaultImpl = NumberGreaterThanAdvancedFilter.class)
+@JsonTypeName("NumberGreaterThan")
+public class NumberGreaterThanAdvancedFilter extends AdvancedFilter {
+ /**
+ * The filter value.
+ */
+ @JsonProperty(value = "value")
+ private Double value;
+
+ /**
+ * Get the filter value.
+ *
+ * @return the value value
+ */
+ public Double value() {
+ return this.value;
+ }
+
+ /**
+ * Set the filter value.
+ *
+ * @param value the value value to set
+ * @return the NumberGreaterThanAdvancedFilter object itself.
+ */
+ public NumberGreaterThanAdvancedFilter withValue(Double value) {
+ this.value = value;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberGreaterThanOrEqualsAdvancedFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberGreaterThanOrEqualsAdvancedFilter.java
new file mode 100644
index 000000000000..9e8f696d2d5b
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberGreaterThanOrEqualsAdvancedFilter.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.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * NumberGreaterThanOrEquals Advanced Filter.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operatorType", defaultImpl = NumberGreaterThanOrEqualsAdvancedFilter.class)
+@JsonTypeName("NumberGreaterThanOrEquals")
+public class NumberGreaterThanOrEqualsAdvancedFilter extends AdvancedFilter {
+ /**
+ * The filter value.
+ */
+ @JsonProperty(value = "value")
+ private Double value;
+
+ /**
+ * Get the filter value.
+ *
+ * @return the value value
+ */
+ public Double value() {
+ return this.value;
+ }
+
+ /**
+ * Set the filter value.
+ *
+ * @param value the value value to set
+ * @return the NumberGreaterThanOrEqualsAdvancedFilter object itself.
+ */
+ public NumberGreaterThanOrEqualsAdvancedFilter withValue(Double value) {
+ this.value = value;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberInAdvancedFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberInAdvancedFilter.java
new file mode 100644
index 000000000000..304068a0c7c6
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberInAdvancedFilter.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.eventgrid.v2019_02_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * NumberIn Advanced Filter.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operatorType", defaultImpl = NumberInAdvancedFilter.class)
+@JsonTypeName("NumberIn")
+public class NumberInAdvancedFilter extends AdvancedFilter {
+ /**
+ * The set of filter values.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Get the set of filter values.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the set of filter values.
+ *
+ * @param values the values value to set
+ * @return the NumberInAdvancedFilter object itself.
+ */
+ public NumberInAdvancedFilter withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberLessThanAdvancedFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberLessThanAdvancedFilter.java
new file mode 100644
index 000000000000..a21e19e8c7cc
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberLessThanAdvancedFilter.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.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * NumberLessThan Advanced Filter.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operatorType", defaultImpl = NumberLessThanAdvancedFilter.class)
+@JsonTypeName("NumberLessThan")
+public class NumberLessThanAdvancedFilter extends AdvancedFilter {
+ /**
+ * The filter value.
+ */
+ @JsonProperty(value = "value")
+ private Double value;
+
+ /**
+ * Get the filter value.
+ *
+ * @return the value value
+ */
+ public Double value() {
+ return this.value;
+ }
+
+ /**
+ * Set the filter value.
+ *
+ * @param value the value value to set
+ * @return the NumberLessThanAdvancedFilter object itself.
+ */
+ public NumberLessThanAdvancedFilter withValue(Double value) {
+ this.value = value;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberLessThanOrEqualsAdvancedFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberLessThanOrEqualsAdvancedFilter.java
new file mode 100644
index 000000000000..8ef5babe229b
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberLessThanOrEqualsAdvancedFilter.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.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * NumberLessThanOrEquals Advanced Filter.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operatorType", defaultImpl = NumberLessThanOrEqualsAdvancedFilter.class)
+@JsonTypeName("NumberLessThanOrEquals")
+public class NumberLessThanOrEqualsAdvancedFilter extends AdvancedFilter {
+ /**
+ * The filter value.
+ */
+ @JsonProperty(value = "value")
+ private Double value;
+
+ /**
+ * Get the filter value.
+ *
+ * @return the value value
+ */
+ public Double value() {
+ return this.value;
+ }
+
+ /**
+ * Set the filter value.
+ *
+ * @param value the value value to set
+ * @return the NumberLessThanOrEqualsAdvancedFilter object itself.
+ */
+ public NumberLessThanOrEqualsAdvancedFilter withValue(Double value) {
+ this.value = value;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberNotInAdvancedFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberNotInAdvancedFilter.java
new file mode 100644
index 000000000000..0b1a1894908e
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/NumberNotInAdvancedFilter.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.eventgrid.v2019_02_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * NumberNotIn Advanced Filter.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operatorType", defaultImpl = NumberNotInAdvancedFilter.class)
+@JsonTypeName("NumberNotIn")
+public class NumberNotInAdvancedFilter extends AdvancedFilter {
+ /**
+ * The set of filter values.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Get the set of filter values.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the set of filter values.
+ *
+ * @param values the values value to set
+ * @return the NumberNotInAdvancedFilter object itself.
+ */
+ public NumberNotInAdvancedFilter withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Operation.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Operation.java
new file mode 100644
index 000000000000..7d7f9197ece2
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Operation.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.EventGridManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.OperationInner;
+
+/**
+ * Type representing Operation.
+ */
+public interface Operation extends HasInner, HasManager {
+ /**
+ * @return the display value.
+ */
+ OperationInfo display();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the origin value.
+ */
+ String origin();
+
+ /**
+ * @return the properties value.
+ */
+ Object properties();
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/OperationInfo.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/OperationInfo.java
new file mode 100644
index 000000000000..4025302e1a81
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/OperationInfo.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.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Information about an operation.
+ */
+public class OperationInfo {
+ /**
+ * Name of the provider.
+ */
+ @JsonProperty(value = "provider")
+ private String provider;
+
+ /**
+ * Name of the resource type.
+ */
+ @JsonProperty(value = "resource")
+ private String resource;
+
+ /**
+ * Name of the operation.
+ */
+ @JsonProperty(value = "operation")
+ private String operation;
+
+ /**
+ * Description of the operation.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /**
+ * Get name of the provider.
+ *
+ * @return the provider value
+ */
+ public String provider() {
+ return this.provider;
+ }
+
+ /**
+ * Set name of the provider.
+ *
+ * @param provider the provider value to set
+ * @return the OperationInfo object itself.
+ */
+ public OperationInfo withProvider(String provider) {
+ this.provider = provider;
+ return this;
+ }
+
+ /**
+ * Get name of the resource type.
+ *
+ * @return the resource value
+ */
+ public String resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set name of the resource type.
+ *
+ * @param resource the resource value to set
+ * @return the OperationInfo object itself.
+ */
+ public OperationInfo withResource(String resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get name of the operation.
+ *
+ * @return the operation value
+ */
+ public String operation() {
+ return this.operation;
+ }
+
+ /**
+ * Set name of the operation.
+ *
+ * @param operation the operation value to set
+ * @return the OperationInfo object itself.
+ */
+ public OperationInfo withOperation(String operation) {
+ this.operation = operation;
+ return this;
+ }
+
+ /**
+ * Get description of the operation.
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set description of the operation.
+ *
+ * @param description the description value to set
+ * @return the OperationInfo object itself.
+ */
+ public OperationInfo withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Operations.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Operations.java
new file mode 100644
index 000000000000..7adf48c8143d
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Operations.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import rx.Observable;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.OperationsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Operations.
+ */
+public interface Operations extends HasInner {
+ /**
+ * List available operations.
+ * List the available operations supported by the Microsoft.EventGrid resource provider.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/ResourceRegionType.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/ResourceRegionType.java
new file mode 100644
index 000000000000..87c550a13125
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/ResourceRegionType.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.eventgrid.v2019_02_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ResourceRegionType.
+ */
+public final class ResourceRegionType extends ExpandableStringEnum {
+ /** Static value RegionalResource for ResourceRegionType. */
+ public static final ResourceRegionType REGIONAL_RESOURCE = fromString("RegionalResource");
+
+ /** Static value GlobalResource for ResourceRegionType. */
+ public static final ResourceRegionType GLOBAL_RESOURCE = fromString("GlobalResource");
+
+ /**
+ * Creates or finds a ResourceRegionType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ResourceRegionType
+ */
+ @JsonCreator
+ public static ResourceRegionType fromString(String name) {
+ return fromString(name, ResourceRegionType.class);
+ }
+
+ /**
+ * @return known ResourceRegionType values
+ */
+ public static Collection values() {
+ return values(ResourceRegionType.class);
+ }
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/RetryPolicy.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/RetryPolicy.java
new file mode 100644
index 000000000000..b3b382bb2697
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/RetryPolicy.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.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Information about the retry policy for an event subscription.
+ */
+public class RetryPolicy {
+ /**
+ * Maximum number of delivery retry attempts for events.
+ */
+ @JsonProperty(value = "maxDeliveryAttempts")
+ private Integer maxDeliveryAttempts;
+
+ /**
+ * Time To Live (in minutes) for events.
+ */
+ @JsonProperty(value = "eventTimeToLiveInMinutes")
+ private Integer eventTimeToLiveInMinutes;
+
+ /**
+ * Get maximum number of delivery retry attempts for events.
+ *
+ * @return the maxDeliveryAttempts value
+ */
+ public Integer maxDeliveryAttempts() {
+ return this.maxDeliveryAttempts;
+ }
+
+ /**
+ * Set maximum number of delivery retry attempts for events.
+ *
+ * @param maxDeliveryAttempts the maxDeliveryAttempts value to set
+ * @return the RetryPolicy object itself.
+ */
+ public RetryPolicy withMaxDeliveryAttempts(Integer maxDeliveryAttempts) {
+ this.maxDeliveryAttempts = maxDeliveryAttempts;
+ return this;
+ }
+
+ /**
+ * Get time To Live (in minutes) for events.
+ *
+ * @return the eventTimeToLiveInMinutes value
+ */
+ public Integer eventTimeToLiveInMinutes() {
+ return this.eventTimeToLiveInMinutes;
+ }
+
+ /**
+ * Set time To Live (in minutes) for events.
+ *
+ * @param eventTimeToLiveInMinutes the eventTimeToLiveInMinutes value to set
+ * @return the RetryPolicy object itself.
+ */
+ public RetryPolicy withEventTimeToLiveInMinutes(Integer eventTimeToLiveInMinutes) {
+ this.eventTimeToLiveInMinutes = eventTimeToLiveInMinutes;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/ServiceBusQueueEventSubscriptionDestination.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/ServiceBusQueueEventSubscriptionDestination.java
new file mode 100644
index 000000000000..d216c5dcb0ab
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/ServiceBusQueueEventSubscriptionDestination.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.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Information about the service bus destination for an event subscription.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "endpointType", defaultImpl = ServiceBusQueueEventSubscriptionDestination.class)
+@JsonTypeName("ServiceBusQueue")
+@JsonFlatten
+public class ServiceBusQueueEventSubscriptionDestination extends EventSubscriptionDestination {
+ /**
+ * The Azure Resource Id that represents the endpoint of the Service Bus
+ * destination of an event subscription.
+ */
+ @JsonProperty(value = "properties.resourceId")
+ private String resourceId;
+
+ /**
+ * Get the Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription.
+ *
+ * @return the resourceId value
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Set the Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription.
+ *
+ * @param resourceId the resourceId value to set
+ * @return the ServiceBusQueueEventSubscriptionDestination object itself.
+ */
+ public ServiceBusQueueEventSubscriptionDestination withResourceId(String resourceId) {
+ this.resourceId = resourceId;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StorageBlobDeadLetterDestination.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StorageBlobDeadLetterDestination.java
new file mode 100644
index 000000000000..f7b10cc9e0dd
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StorageBlobDeadLetterDestination.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Information about the storage blob based dead letter destination.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "endpointType", defaultImpl = StorageBlobDeadLetterDestination.class)
+@JsonTypeName("StorageBlob")
+@JsonFlatten
+public class StorageBlobDeadLetterDestination extends DeadLetterDestination {
+ /**
+ * The Azure Resource ID of the storage account that is the destination of
+ * the deadletter events.
+ */
+ @JsonProperty(value = "properties.resourceId")
+ private String resourceId;
+
+ /**
+ * The name of the Storage blob container that is the destination of the
+ * deadletter events.
+ */
+ @JsonProperty(value = "properties.blobContainerName")
+ private String blobContainerName;
+
+ /**
+ * Get the Azure Resource ID of the storage account that is the destination of the deadletter events.
+ *
+ * @return the resourceId value
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Set the Azure Resource ID of the storage account that is the destination of the deadletter events.
+ *
+ * @param resourceId the resourceId value to set
+ * @return the StorageBlobDeadLetterDestination object itself.
+ */
+ public StorageBlobDeadLetterDestination withResourceId(String resourceId) {
+ this.resourceId = resourceId;
+ return this;
+ }
+
+ /**
+ * Get the name of the Storage blob container that is the destination of the deadletter events.
+ *
+ * @return the blobContainerName value
+ */
+ public String blobContainerName() {
+ return this.blobContainerName;
+ }
+
+ /**
+ * Set the name of the Storage blob container that is the destination of the deadletter events.
+ *
+ * @param blobContainerName the blobContainerName value to set
+ * @return the StorageBlobDeadLetterDestination object itself.
+ */
+ public StorageBlobDeadLetterDestination withBlobContainerName(String blobContainerName) {
+ this.blobContainerName = blobContainerName;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StorageQueueEventSubscriptionDestination.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StorageQueueEventSubscriptionDestination.java
new file mode 100644
index 000000000000..61abd9b368b5
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StorageQueueEventSubscriptionDestination.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Information about the storage queue destination for an event subscription.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "endpointType", defaultImpl = StorageQueueEventSubscriptionDestination.class)
+@JsonTypeName("StorageQueue")
+@JsonFlatten
+public class StorageQueueEventSubscriptionDestination extends EventSubscriptionDestination {
+ /**
+ * The Azure Resource ID of the storage account that contains the queue
+ * that is the destination of an event subscription.
+ */
+ @JsonProperty(value = "properties.resourceId")
+ private String resourceId;
+
+ /**
+ * The name of the Storage queue under a storage account that is the
+ * destination of an event subscription.
+ */
+ @JsonProperty(value = "properties.queueName")
+ private String queueName;
+
+ /**
+ * Get the Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription.
+ *
+ * @return the resourceId value
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Set the Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription.
+ *
+ * @param resourceId the resourceId value to set
+ * @return the StorageQueueEventSubscriptionDestination object itself.
+ */
+ public StorageQueueEventSubscriptionDestination withResourceId(String resourceId) {
+ this.resourceId = resourceId;
+ return this;
+ }
+
+ /**
+ * Get the name of the Storage queue under a storage account that is the destination of an event subscription.
+ *
+ * @return the queueName value
+ */
+ public String queueName() {
+ return this.queueName;
+ }
+
+ /**
+ * Set the name of the Storage queue under a storage account that is the destination of an event subscription.
+ *
+ * @param queueName the queueName value to set
+ * @return the StorageQueueEventSubscriptionDestination object itself.
+ */
+ public StorageQueueEventSubscriptionDestination withQueueName(String queueName) {
+ this.queueName = queueName;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringBeginsWithAdvancedFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringBeginsWithAdvancedFilter.java
new file mode 100644
index 000000000000..4235571d7ae2
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringBeginsWithAdvancedFilter.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.eventgrid.v2019_02_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * StringBeginsWith Advanced Filter.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operatorType", defaultImpl = StringBeginsWithAdvancedFilter.class)
+@JsonTypeName("StringBeginsWith")
+public class StringBeginsWithAdvancedFilter extends AdvancedFilter {
+ /**
+ * The set of filter values.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Get the set of filter values.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the set of filter values.
+ *
+ * @param values the values value to set
+ * @return the StringBeginsWithAdvancedFilter object itself.
+ */
+ public StringBeginsWithAdvancedFilter withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringContainsAdvancedFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringContainsAdvancedFilter.java
new file mode 100644
index 000000000000..24f9fb95105f
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringContainsAdvancedFilter.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.eventgrid.v2019_02_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * StringContains Advanced Filter.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operatorType", defaultImpl = StringContainsAdvancedFilter.class)
+@JsonTypeName("StringContains")
+public class StringContainsAdvancedFilter extends AdvancedFilter {
+ /**
+ * The set of filter values.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Get the set of filter values.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the set of filter values.
+ *
+ * @param values the values value to set
+ * @return the StringContainsAdvancedFilter object itself.
+ */
+ public StringContainsAdvancedFilter withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringEndsWithAdvancedFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringEndsWithAdvancedFilter.java
new file mode 100644
index 000000000000..855eecadf432
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringEndsWithAdvancedFilter.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.eventgrid.v2019_02_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * StringEndsWith Advanced Filter.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operatorType", defaultImpl = StringEndsWithAdvancedFilter.class)
+@JsonTypeName("StringEndsWith")
+public class StringEndsWithAdvancedFilter extends AdvancedFilter {
+ /**
+ * The set of filter values.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Get the set of filter values.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the set of filter values.
+ *
+ * @param values the values value to set
+ * @return the StringEndsWithAdvancedFilter object itself.
+ */
+ public StringEndsWithAdvancedFilter withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringInAdvancedFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringInAdvancedFilter.java
new file mode 100644
index 000000000000..dbfdc279d1d3
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringInAdvancedFilter.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.eventgrid.v2019_02_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * StringIn Advanced Filter.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operatorType", defaultImpl = StringInAdvancedFilter.class)
+@JsonTypeName("StringIn")
+public class StringInAdvancedFilter extends AdvancedFilter {
+ /**
+ * The set of filter values.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Get the set of filter values.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the set of filter values.
+ *
+ * @param values the values value to set
+ * @return the StringInAdvancedFilter object itself.
+ */
+ public StringInAdvancedFilter withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringNotInAdvancedFilter.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringNotInAdvancedFilter.java
new file mode 100644
index 000000000000..89777417b39c
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/StringNotInAdvancedFilter.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.eventgrid.v2019_02_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * StringNotIn Advanced Filter.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operatorType", defaultImpl = StringNotInAdvancedFilter.class)
+@JsonTypeName("StringNotIn")
+public class StringNotInAdvancedFilter extends AdvancedFilter {
+ /**
+ * The set of filter values.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /**
+ * Get the set of filter values.
+ *
+ * @return the values value
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the set of filter values.
+ *
+ * @param values the values value to set
+ * @return the StringNotInAdvancedFilter object itself.
+ */
+ public StringNotInAdvancedFilter withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Topic.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Topic.java
new file mode 100644
index 000000000000..c9ac007b1741
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Topic.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.EventGridManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.TopicInner;
+
+/**
+ * Type representing Topic.
+ */
+public interface Topic extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the endpoint value.
+ */
+ String endpoint();
+
+ /**
+ * @return the inputSchema value.
+ */
+ InputSchema inputSchema();
+
+ /**
+ * @return the inputSchemaMapping value.
+ */
+ InputSchemaMapping inputSchemaMapping();
+
+ /**
+ * @return the provisioningState value.
+ */
+ TopicProvisioningState provisioningState();
+
+ /**
+ * The entirety of the Topic definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of Topic definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a Topic definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the Topic definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the topic definition allowing to specify InputSchema.
+ */
+ interface WithInputSchema {
+ /**
+ * Specifies inputSchema.
+ * @param inputSchema This determines the format that Event Grid should expect for incoming events published to the topic. Possible values include: 'EventGridSchema', 'CustomEventSchema', 'CloudEventV01Schema'
+ * @return the next definition stage
+ */
+ WithCreate withInputSchema(InputSchema inputSchema);
+ }
+
+ /**
+ * The stage of the topic definition allowing to specify InputSchemaMapping.
+ */
+ interface WithInputSchemaMapping {
+ /**
+ * Specifies inputSchemaMapping.
+ * @param inputSchemaMapping This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map various properties of a source schema to various required properties of the EventGridEvent schema
+ * @return the next definition stage
+ */
+ WithCreate withInputSchemaMapping(InputSchemaMapping inputSchemaMapping);
+ }
+
+ /**
+ * 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.WithInputSchema, DefinitionStages.WithInputSchemaMapping {
+ }
+ }
+ /**
+ * The template for a Topic update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithInputSchema, UpdateStages.WithInputSchemaMapping {
+ }
+
+ /**
+ * Grouping of Topic update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the topic update allowing to specify InputSchema.
+ */
+ interface WithInputSchema {
+ /**
+ * Specifies inputSchema.
+ * @param inputSchema This determines the format that Event Grid should expect for incoming events published to the topic. Possible values include: 'EventGridSchema', 'CustomEventSchema', 'CloudEventV01Schema'
+ * @return the next update stage
+ */
+ Update withInputSchema(InputSchema inputSchema);
+ }
+
+ /**
+ * The stage of the topic update allowing to specify InputSchemaMapping.
+ */
+ interface WithInputSchemaMapping {
+ /**
+ * Specifies inputSchemaMapping.
+ * @param inputSchemaMapping This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map various properties of a source schema to various required properties of the EventGridEvent schema
+ * @return the next update stage
+ */
+ Update withInputSchemaMapping(InputSchemaMapping inputSchemaMapping);
+ }
+
+ }
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicProvisioningState.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicProvisioningState.java
new file mode 100644
index 000000000000..c9c662610752
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicProvisioningState.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.eventgrid.v2019_02_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for TopicProvisioningState.
+ */
+public final class TopicProvisioningState extends ExpandableStringEnum {
+ /** Static value Creating for TopicProvisioningState. */
+ public static final TopicProvisioningState CREATING = fromString("Creating");
+
+ /** Static value Updating for TopicProvisioningState. */
+ public static final TopicProvisioningState UPDATING = fromString("Updating");
+
+ /** Static value Deleting for TopicProvisioningState. */
+ public static final TopicProvisioningState DELETING = fromString("Deleting");
+
+ /** Static value Succeeded for TopicProvisioningState. */
+ public static final TopicProvisioningState SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Canceled for TopicProvisioningState. */
+ public static final TopicProvisioningState CANCELED = fromString("Canceled");
+
+ /** Static value Failed for TopicProvisioningState. */
+ public static final TopicProvisioningState FAILED = fromString("Failed");
+
+ /**
+ * Creates or finds a TopicProvisioningState from its string representation.
+ * @param name a name to look for
+ * @return the corresponding TopicProvisioningState
+ */
+ @JsonCreator
+ public static TopicProvisioningState fromString(String name) {
+ return fromString(name, TopicProvisioningState.class);
+ }
+
+ /**
+ * @return known TopicProvisioningState values
+ */
+ public static Collection values() {
+ return values(TopicProvisioningState.class);
+ }
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicRegenerateKeyRequest.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicRegenerateKeyRequest.java
new file mode 100644
index 000000000000..eaa1af0be507
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicRegenerateKeyRequest.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.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Topic regenerate share access key request.
+ */
+public class TopicRegenerateKeyRequest {
+ /**
+ * Key name to regenerate key1 or key2.
+ */
+ @JsonProperty(value = "keyName", required = true)
+ private String keyName;
+
+ /**
+ * Get key name to regenerate key1 or key2.
+ *
+ * @return the keyName value
+ */
+ public String keyName() {
+ return this.keyName;
+ }
+
+ /**
+ * Set key name to regenerate key1 or key2.
+ *
+ * @param keyName the keyName value to set
+ * @return the TopicRegenerateKeyRequest object itself.
+ */
+ public TopicRegenerateKeyRequest withKeyName(String keyName) {
+ this.keyName = keyName;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicSharedAccessKeys.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicSharedAccessKeys.java
new file mode 100644
index 000000000000..90c594bb6456
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicSharedAccessKeys.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.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.EventGridManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.TopicSharedAccessKeysInner;
+
+/**
+ * Type representing TopicSharedAccessKeys.
+ */
+public interface TopicSharedAccessKeys extends HasInner, HasManager {
+ /**
+ * @return the key1 value.
+ */
+ String key1();
+
+ /**
+ * @return the key2 value.
+ */
+ String key2();
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicTypeInfo.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicTypeInfo.java
new file mode 100644
index 000000000000..333a7a06b63a
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicTypeInfo.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.EventGridManager;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.TopicTypeInfoInner;
+import java.util.List;
+
+/**
+ * Type representing TopicTypeInfo.
+ */
+public interface TopicTypeInfo extends HasInner, HasManager {
+ /**
+ * @return the description value.
+ */
+ String description();
+
+ /**
+ * @return the displayName value.
+ */
+ String displayName();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the provider value.
+ */
+ String provider();
+
+ /**
+ * @return the provisioningState value.
+ */
+ TopicTypeProvisioningState provisioningState();
+
+ /**
+ * @return the resourceRegionType value.
+ */
+ ResourceRegionType resourceRegionType();
+
+ /**
+ * @return the supportedLocations value.
+ */
+ List supportedLocations();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicTypeProvisioningState.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicTypeProvisioningState.java
new file mode 100644
index 000000000000..2bef1120726c
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicTypeProvisioningState.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.eventgrid.v2019_02_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for TopicTypeProvisioningState.
+ */
+public final class TopicTypeProvisioningState extends ExpandableStringEnum {
+ /** Static value Creating for TopicTypeProvisioningState. */
+ public static final TopicTypeProvisioningState CREATING = fromString("Creating");
+
+ /** Static value Updating for TopicTypeProvisioningState. */
+ public static final TopicTypeProvisioningState UPDATING = fromString("Updating");
+
+ /** Static value Deleting for TopicTypeProvisioningState. */
+ public static final TopicTypeProvisioningState DELETING = fromString("Deleting");
+
+ /** Static value Succeeded for TopicTypeProvisioningState. */
+ public static final TopicTypeProvisioningState SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Canceled for TopicTypeProvisioningState. */
+ public static final TopicTypeProvisioningState CANCELED = fromString("Canceled");
+
+ /** Static value Failed for TopicTypeProvisioningState. */
+ public static final TopicTypeProvisioningState FAILED = fromString("Failed");
+
+ /**
+ * Creates or finds a TopicTypeProvisioningState from its string representation.
+ * @param name a name to look for
+ * @return the corresponding TopicTypeProvisioningState
+ */
+ @JsonCreator
+ public static TopicTypeProvisioningState fromString(String name) {
+ return fromString(name, TopicTypeProvisioningState.class);
+ }
+
+ /**
+ * @return known TopicTypeProvisioningState values
+ */
+ public static Collection values() {
+ return values(TopicTypeProvisioningState.class);
+ }
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicTypes.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicTypes.java
new file mode 100644
index 000000000000..3ea43579f75f
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicTypes.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.eventgrid.v2019_02_01_preview;
+
+import rx.Observable;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.TopicTypesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing TopicTypes.
+ */
+public interface TopicTypes extends HasInner {
+ /**
+ * List event types.
+ * List event types for a topic type.
+ *
+ * @param topicTypeName Name of the topic type
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listEventTypesAsync(String topicTypeName);
+
+ /**
+ * Get a topic type.
+ * Get information about a topic type.
+ *
+ * @param topicTypeName Name of the topic type
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String topicTypeName);
+
+ /**
+ * List topic types.
+ * List all registered topic types.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicUpdateParameters.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicUpdateParameters.java
new file mode 100644
index 000000000000..cabe6e332ed0
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/TopicUpdateParameters.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.eventgrid.v2019_02_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Properties of the Topic update.
+ */
+public class TopicUpdateParameters {
+ /**
+ * Tags of the resource.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * Get tags of the resource.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set tags of the resource.
+ *
+ * @param tags the tags value to set
+ * @return the TopicUpdateParameters object itself.
+ */
+ public TopicUpdateParameters withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Topics.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Topics.java
new file mode 100644
index 000000000000..d2cea9a4b7ea
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/Topics.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup;
+import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion;
+import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup;
+import rx.Observable;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation.TopicsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Topics.
+ */
+public interface Topics extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+ /**
+ * List keys for a topic.
+ * List the two keys used to publish to a topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param topicName Name of the topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listSharedAccessKeysAsync(String resourceGroupName, String topicName);
+
+ /**
+ * Regenerate key for a topic.
+ * Regenerate a shared access key for a topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param topicName Name of the topic
+ * @param keyName Key name to regenerate key1 or key2
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable regenerateKeyAsync(String resourceGroupName, String topicName, String keyName);
+
+ /**
+ * List topic event types.
+ * List event types for a topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param providerNamespace Namespace of the provider of the topic
+ * @param resourceTypeName Name of the topic type
+ * @param resourceName Name of the topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listEventTypesAsync(String resourceGroupName, String providerNamespace, String resourceTypeName, String resourceName);
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/WebHookEventSubscriptionDestination.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/WebHookEventSubscriptionDestination.java
new file mode 100644
index 000000000000..a0f0f780cfd5
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/WebHookEventSubscriptionDestination.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Information about the webhook destination for an event subscription.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "endpointType", defaultImpl = WebHookEventSubscriptionDestination.class)
+@JsonTypeName("WebHook")
+@JsonFlatten
+public class WebHookEventSubscriptionDestination extends EventSubscriptionDestination {
+ /**
+ * The URL that represents the endpoint of the destination of an event
+ * subscription.
+ */
+ @JsonProperty(value = "properties.endpointUrl")
+ private String endpointUrl;
+
+ /**
+ * The base URL that represents the endpoint of the destination of an event
+ * subscription.
+ */
+ @JsonProperty(value = "properties.endpointBaseUrl", access = JsonProperty.Access.WRITE_ONLY)
+ private String endpointBaseUrl;
+
+ /**
+ * Get the URL that represents the endpoint of the destination of an event subscription.
+ *
+ * @return the endpointUrl value
+ */
+ public String endpointUrl() {
+ return this.endpointUrl;
+ }
+
+ /**
+ * Set the URL that represents the endpoint of the destination of an event subscription.
+ *
+ * @param endpointUrl the endpointUrl value to set
+ * @return the WebHookEventSubscriptionDestination object itself.
+ */
+ public WebHookEventSubscriptionDestination withEndpointUrl(String endpointUrl) {
+ this.endpointUrl = endpointUrl;
+ return this;
+ }
+
+ /**
+ * Get the base URL that represents the endpoint of the destination of an event subscription.
+ *
+ * @return the endpointBaseUrl value
+ */
+ public String endpointBaseUrl() {
+ return this.endpointBaseUrl;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainImpl.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainImpl.java
new file mode 100644
index 000000000000..bf0af7288f8e
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainImpl.java
@@ -0,0 +1,81 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation;
+
+import com.microsoft.azure.arm.resources.models.implementation.GroupableResourceCoreImpl;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.Domain;
+import rx.Observable;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.DomainProvisioningState;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.InputSchema;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.InputSchemaMapping;
+
+class DomainImpl extends GroupableResourceCoreImpl implements Domain, Domain.Definition, Domain.Update {
+ DomainImpl(String name, DomainInner inner, EventGridManager manager) {
+ super(name, inner, manager);
+ }
+
+ @Override
+ public Observable createResourceAsync() {
+ DomainsInner client = this.manager().inner().domains();
+ return client.createOrUpdateAsync(this.resourceGroupName(), this.name(), this.inner())
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ public Observable updateResourceAsync() {
+ DomainsInner client = this.manager().inner().domains();
+ return client.createOrUpdateAsync(this.resourceGroupName(), this.name(), this.inner())
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ DomainsInner client = this.manager().inner().domains();
+ return client.getByResourceGroupAsync(this.resourceGroupName(), this.name());
+ }
+
+ @Override
+ public boolean isInCreateMode() {
+ return this.inner().id() == null;
+ }
+
+
+ @Override
+ public String endpoint() {
+ return this.inner().endpoint();
+ }
+
+ @Override
+ public InputSchema inputSchema() {
+ return this.inner().inputSchema();
+ }
+
+ @Override
+ public InputSchemaMapping inputSchemaMapping() {
+ return this.inner().inputSchemaMapping();
+ }
+
+ @Override
+ public DomainProvisioningState provisioningState() {
+ return this.inner().provisioningState();
+ }
+
+ @Override
+ public DomainImpl withInputSchema(InputSchema inputSchema) {
+ this.inner().withInputSchema(inputSchema);
+ return this;
+ }
+
+ @Override
+ public DomainImpl withInputSchemaMapping(InputSchemaMapping inputSchemaMapping) {
+ this.inner().withInputSchemaMapping(inputSchemaMapping);
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainInner.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainInner.java
new file mode 100644
index 000000000000..ecbfb9bc650d
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainInner.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation;
+
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.DomainProvisioningState;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.InputSchema;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.InputSchemaMapping;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.Resource;
+
+/**
+ * EventGrid Domain.
+ */
+@JsonFlatten
+public class DomainInner extends Resource {
+ /**
+ * Provisioning state of the domain. Possible values include: 'Creating',
+ * 'Updating', 'Deleting', 'Succeeded', 'Canceled', 'Failed'.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private DomainProvisioningState provisioningState;
+
+ /**
+ * Endpoint for the domain.
+ */
+ @JsonProperty(value = "properties.endpoint", access = JsonProperty.Access.WRITE_ONLY)
+ private String endpoint;
+
+ /**
+ * This determines the format that Event Grid should expect for incoming
+ * events published to the domain. Possible values include:
+ * 'EventGridSchema', 'CustomEventSchema', 'CloudEventV01Schema'.
+ */
+ @JsonProperty(value = "properties.inputSchema")
+ private InputSchema inputSchema;
+
+ /**
+ * Information about the InputSchemaMapping which specified the info about
+ * mapping event payload.
+ */
+ @JsonProperty(value = "properties.inputSchemaMapping")
+ private InputSchemaMapping inputSchemaMapping;
+
+ /**
+ * Get provisioning state of the domain. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Canceled', 'Failed'.
+ *
+ * @return the provisioningState value
+ */
+ public DomainProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get endpoint for the domain.
+ *
+ * @return the endpoint value
+ */
+ public String endpoint() {
+ return this.endpoint;
+ }
+
+ /**
+ * Get this determines the format that Event Grid should expect for incoming events published to the domain. Possible values include: 'EventGridSchema', 'CustomEventSchema', 'CloudEventV01Schema'.
+ *
+ * @return the inputSchema value
+ */
+ public InputSchema inputSchema() {
+ return this.inputSchema;
+ }
+
+ /**
+ * Set this determines the format that Event Grid should expect for incoming events published to the domain. Possible values include: 'EventGridSchema', 'CustomEventSchema', 'CloudEventV01Schema'.
+ *
+ * @param inputSchema the inputSchema value to set
+ * @return the DomainInner object itself.
+ */
+ public DomainInner withInputSchema(InputSchema inputSchema) {
+ this.inputSchema = inputSchema;
+ return this;
+ }
+
+ /**
+ * Get information about the InputSchemaMapping which specified the info about mapping event payload.
+ *
+ * @return the inputSchemaMapping value
+ */
+ public InputSchemaMapping inputSchemaMapping() {
+ return this.inputSchemaMapping;
+ }
+
+ /**
+ * Set information about the InputSchemaMapping which specified the info about mapping event payload.
+ *
+ * @param inputSchemaMapping the inputSchemaMapping value to set
+ * @return the DomainInner object itself.
+ */
+ public DomainInner withInputSchemaMapping(InputSchemaMapping inputSchemaMapping) {
+ this.inputSchemaMapping = inputSchemaMapping;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainSharedAccessKeysImpl.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainSharedAccessKeysImpl.java
new file mode 100644
index 000000000000..9fb234445619
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainSharedAccessKeysImpl.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation;
+
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.DomainSharedAccessKeys;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+
+class DomainSharedAccessKeysImpl extends WrapperImpl implements DomainSharedAccessKeys {
+ private final EventGridManager manager;
+ DomainSharedAccessKeysImpl(DomainSharedAccessKeysInner inner, EventGridManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public EventGridManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public String key1() {
+ return this.inner().key1();
+ }
+
+ @Override
+ public String key2() {
+ return this.inner().key2();
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainSharedAccessKeysInner.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainSharedAccessKeysInner.java
new file mode 100644
index 000000000000..e4ffebb85062
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainSharedAccessKeysInner.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.eventgrid.v2019_02_01_preview.implementation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Shared access keys of the Domain.
+ */
+public class DomainSharedAccessKeysInner {
+ /**
+ * Shared access key1 for the domain.
+ */
+ @JsonProperty(value = "key1")
+ private String key1;
+
+ /**
+ * Shared access key2 for the domain.
+ */
+ @JsonProperty(value = "key2")
+ private String key2;
+
+ /**
+ * Get shared access key1 for the domain.
+ *
+ * @return the key1 value
+ */
+ public String key1() {
+ return this.key1;
+ }
+
+ /**
+ * Set shared access key1 for the domain.
+ *
+ * @param key1 the key1 value to set
+ * @return the DomainSharedAccessKeysInner object itself.
+ */
+ public DomainSharedAccessKeysInner withKey1(String key1) {
+ this.key1 = key1;
+ return this;
+ }
+
+ /**
+ * Get shared access key2 for the domain.
+ *
+ * @return the key2 value
+ */
+ public String key2() {
+ return this.key2;
+ }
+
+ /**
+ * Set shared access key2 for the domain.
+ *
+ * @param key2 the key2 value to set
+ * @return the DomainSharedAccessKeysInner object itself.
+ */
+ public DomainSharedAccessKeysInner withKey2(String key2) {
+ this.key2 = key2;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainTopicImpl.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainTopicImpl.java
new file mode 100644
index 000000000000..104b6f899632
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainTopicImpl.java
@@ -0,0 +1,100 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation;
+
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.DomainTopic;
+import com.microsoft.azure.arm.model.implementation.CreatableUpdatableImpl;
+import rx.Observable;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.DomainTopicProvisioningState;
+
+class DomainTopicImpl extends CreatableUpdatableImpl implements DomainTopic, DomainTopic.Definition, DomainTopic.Update {
+ private final EventGridManager manager;
+ private String resourceGroupName;
+ private String domainName;
+ private String domainTopicName;
+
+ DomainTopicImpl(String name, EventGridManager manager) {
+ super(name, new DomainTopicInner());
+ this.manager = manager;
+ // Set resource name
+ this.domainTopicName = name;
+ //
+ }
+
+ DomainTopicImpl(DomainTopicInner inner, EventGridManager manager) {
+ super(inner.name(), inner);
+ this.manager = manager;
+ // Set resource name
+ this.domainTopicName = inner.name();
+ // set resource ancestor and positional variables
+ this.resourceGroupName = IdParsingUtils.getValueFromIdByName(inner.id(), "resourceGroups");
+ this.domainName = IdParsingUtils.getValueFromIdByName(inner.id(), "domains");
+ this.domainTopicName = IdParsingUtils.getValueFromIdByName(inner.id(), "topics");
+ //
+ }
+
+ @Override
+ public EventGridManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable createResourceAsync() {
+ DomainTopicsInner client = this.manager().inner().domainTopics();
+ return client.createOrUpdateAsync(this.resourceGroupName, this.domainName, this.domainTopicName)
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ public Observable updateResourceAsync() {
+ DomainTopicsInner client = this.manager().inner().domainTopics();
+ return client.createOrUpdateAsync(this.resourceGroupName, this.domainName, this.domainTopicName)
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ DomainTopicsInner client = this.manager().inner().domainTopics();
+ return client.getAsync(this.resourceGroupName, this.domainName, this.domainTopicName);
+ }
+
+ @Override
+ public boolean isInCreateMode() {
+ return this.inner().id() == null;
+ }
+
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public DomainTopicProvisioningState provisioningState() {
+ return this.inner().provisioningState();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+ @Override
+ public DomainTopicImpl withExistingDomain(String resourceGroupName, String domainName) {
+ this.resourceGroupName = resourceGroupName;
+ this.domainName = domainName;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainTopicInner.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainTopicInner.java
new file mode 100644
index 000000000000..4a36b8120497
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainTopicInner.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.eventgrid.v2019_02_01_preview.implementation;
+
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.DomainTopicProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.ProxyResource;
+
+/**
+ * Domain Topic.
+ */
+@JsonFlatten
+public class DomainTopicInner extends ProxyResource {
+ /**
+ * Provisioning state of the domain topic. Possible values include:
+ * 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Canceled', 'Failed'.
+ */
+ @JsonProperty(value = "properties.provisioningState")
+ private DomainTopicProvisioningState provisioningState;
+
+ /**
+ * Get provisioning state of the domain topic. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Canceled', 'Failed'.
+ *
+ * @return the provisioningState value
+ */
+ public DomainTopicProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Set provisioning state of the domain topic. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Canceled', 'Failed'.
+ *
+ * @param provisioningState the provisioningState value to set
+ * @return the DomainTopicInner object itself.
+ */
+ public DomainTopicInner withProvisioningState(DomainTopicProvisioningState provisioningState) {
+ this.provisioningState = provisioningState;
+ return this;
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainTopicsImpl.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainTopicsImpl.java
new file mode 100644
index 000000000000..184bf9b7f141
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainTopicsImpl.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ *
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.DomainTopics;
+import rx.Completable;
+import rx.Observable;
+import rx.functions.Func1;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.management.eventgrid.v2019_02_01_preview.DomainTopic;
+
+class DomainTopicsImpl extends WrapperImpl implements DomainTopics {
+ private final EventGridManager manager;
+
+ DomainTopicsImpl(EventGridManager manager) {
+ super(manager.inner().domainTopics());
+ this.manager = manager;
+ }
+
+ public EventGridManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public DomainTopicImpl define(String name) {
+ return wrapModel(name);
+ }
+
+ private DomainTopicImpl wrapModel(DomainTopicInner inner) {
+ return new DomainTopicImpl(inner, manager());
+ }
+
+ private DomainTopicImpl wrapModel(String name) {
+ return new DomainTopicImpl(name, this.manager());
+ }
+
+ @Override
+ public Observable listByDomainAsync(final String resourceGroupName, final String domainName) {
+ DomainTopicsInner client = this.inner();
+ return client.listByDomainAsync(resourceGroupName, domainName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public DomainTopic call(DomainTopicInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+ @Override
+ public Observable getAsync(String resourceGroupName, String domainName, String domainTopicName) {
+ DomainTopicsInner client = this.inner();
+ return client.getAsync(resourceGroupName, domainName, domainTopicName)
+ .flatMap(new Func1>() {
+ @Override
+ public Observable call(DomainTopicInner inner) {
+ if (inner == null) {
+ return Observable.empty();
+ } else {
+ return Observable.just((DomainTopic)wrapModel(inner));
+ }
+ }
+ });
+ }
+
+ @Override
+ public Completable deleteAsync(String resourceGroupName, String domainName, String domainTopicName) {
+ DomainTopicsInner client = this.inner();
+ return client.deleteAsync(resourceGroupName, domainName, domainTopicName).toCompletable();
+ }
+
+}
diff --git a/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainTopicsInner.java b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainTopicsInner.java
new file mode 100644
index 000000000000..43ff5d315b95
--- /dev/null
+++ b/sdk/eventgrid/mgmt-v2019_02_01_preview/src/main/java/com/microsoft/azure/management/eventgrid/v2019_02_01_preview/implementation/DomainTopicsInner.java
@@ -0,0 +1,919 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.eventgrid.v2019_02_01_preview.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.AzureServiceFuture;
+import com.microsoft.azure.CloudException;
+import com.microsoft.azure.ListOperationCallback;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.PagedList;
+import com.microsoft.rest.ServiceCallback;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import java.io.IOException;
+import java.util.List;
+import okhttp3.ResponseBody;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.HTTP;
+import retrofit2.http.Path;
+import retrofit2.http.PUT;
+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 DomainTopics.
+ */
+public class DomainTopicsInner {
+ /** The Retrofit service to perform REST calls. */
+ private DomainTopicsService service;
+ /** The service client containing this operation class. */
+ private EventGridManagementClientImpl client;
+
+ /**
+ * Initializes an instance of DomainTopicsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public DomainTopicsInner(Retrofit retrofit, EventGridManagementClientImpl client) {
+ this.service = retrofit.create(DomainTopicsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for DomainTopics to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface DomainTopicsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.eventgrid.v2019_02_01_preview.DomainTopics get" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}")
+ Observable> get(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("domainName") String domainName, @Path("domainTopicName") String domainTopicName, @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.eventgrid.v2019_02_01_preview.DomainTopics createOrUpdate" })
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}")
+ Observable> createOrUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("domainName") String domainName, @Path("domainTopicName") String domainTopicName, @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.eventgrid.v2019_02_01_preview.DomainTopics beginCreateOrUpdate" })
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}")
+ Observable> beginCreateOrUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("domainName") String domainName, @Path("domainTopicName") String domainTopicName, @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.eventgrid.v2019_02_01_preview.DomainTopics delete" })
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}", method = "DELETE", hasBody = true)
+ Observable> delete(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("domainName") String domainName, @Path("domainTopicName") String domainTopicName, @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.eventgrid.v2019_02_01_preview.DomainTopics beginDelete" })
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}", method = "DELETE", hasBody = true)
+ Observable> beginDelete(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("domainName") String domainName, @Path("domainTopicName") String domainTopicName, @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.eventgrid.v2019_02_01_preview.DomainTopics listByDomain" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics")
+ Observable> listByDomain(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("domainName") String domainName, @Query("api-version") String apiVersion, @Query("$filter") String filter, @Query("$top") Integer top, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.eventgrid.v2019_02_01_preview.DomainTopics listByDomainNext" })
+ @GET
+ Observable> listByDomainNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Get a domain topic.
+ * Get properties of a domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the topic
+ * @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 DomainTopicInner object if successful.
+ */
+ public DomainTopicInner get(String resourceGroupName, String domainName, String domainTopicName) {
+ return getWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName).toBlocking().single().body();
+ }
+
+ /**
+ * Get a domain topic.
+ * Get properties of a domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the topic
+ * @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 getAsync(String resourceGroupName, String domainName, String domainTopicName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(getWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName), serviceCallback);
+ }
+
+ /**
+ * Get a domain topic.
+ * Get properties of a domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the DomainTopicInner object
+ */
+ public Observable getAsync(String resourceGroupName, String domainName, String domainTopicName) {
+ return getWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName).map(new Func1, DomainTopicInner>() {
+ @Override
+ public DomainTopicInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Get a domain topic.
+ * Get properties of a domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the DomainTopicInner object
+ */
+ public Observable> getWithServiceResponseAsync(String resourceGroupName, String domainName, String domainTopicName) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (domainName == null) {
+ throw new IllegalArgumentException("Parameter domainName is required and cannot be null.");
+ }
+ if (domainTopicName == null) {
+ throw new IllegalArgumentException("Parameter domainTopicName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.get(this.client.subscriptionId(), resourceGroupName, domainName, domainTopicName, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = getDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse getDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Create or update a domain topic.
+ * Asynchronously creates or updates a new domain topic with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @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 DomainTopicInner object if successful.
+ */
+ public DomainTopicInner createOrUpdate(String resourceGroupName, String domainName, String domainTopicName) {
+ return createOrUpdateWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName).toBlocking().last().body();
+ }
+
+ /**
+ * Create or update a domain topic.
+ * Asynchronously creates or updates a new domain topic with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @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 createOrUpdateAsync(String resourceGroupName, String domainName, String domainTopicName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(createOrUpdateWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName), serviceCallback);
+ }
+
+ /**
+ * Create or update a domain topic.
+ * Asynchronously creates or updates a new domain topic with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ public Observable createOrUpdateAsync(String resourceGroupName, String domainName, String domainTopicName) {
+ return createOrUpdateWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName).map(new Func1, DomainTopicInner>() {
+ @Override
+ public DomainTopicInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Create or update a domain topic.
+ * Asynchronously creates or updates a new domain topic with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ public Observable> createOrUpdateWithServiceResponseAsync(String resourceGroupName, String domainName, String domainTopicName) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (domainName == null) {
+ throw new IllegalArgumentException("Parameter domainName is required and cannot be null.");
+ }
+ if (domainTopicName == null) {
+ throw new IllegalArgumentException("Parameter domainTopicName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ Observable> observable = service.createOrUpdate(this.client.subscriptionId(), resourceGroupName, domainName, domainTopicName, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent());
+ return client.getAzureClient().getPutOrPatchResultAsync(observable, new TypeToken() { }.getType());
+ }
+
+ /**
+ * Create or update a domain topic.
+ * Asynchronously creates or updates a new domain topic with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @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 DomainTopicInner object if successful.
+ */
+ public DomainTopicInner beginCreateOrUpdate(String resourceGroupName, String domainName, String domainTopicName) {
+ return beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName).toBlocking().single().body();
+ }
+
+ /**
+ * Create or update a domain topic.
+ * Asynchronously creates or updates a new domain topic with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @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 beginCreateOrUpdateAsync(String resourceGroupName, String domainName, String domainTopicName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName), serviceCallback);
+ }
+
+ /**
+ * Create or update a domain topic.
+ * Asynchronously creates or updates a new domain topic with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the DomainTopicInner object
+ */
+ public Observable beginCreateOrUpdateAsync(String resourceGroupName, String domainName, String domainTopicName) {
+ return beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName).map(new Func1, DomainTopicInner>() {
+ @Override
+ public DomainTopicInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Create or update a domain topic.
+ * Asynchronously creates or updates a new domain topic with the specified parameters.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the DomainTopicInner object
+ */
+ public Observable> beginCreateOrUpdateWithServiceResponseAsync(String resourceGroupName, String domainName, String domainTopicName) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (domainName == null) {
+ throw new IllegalArgumentException("Parameter domainName is required and cannot be null.");
+ }
+ if (domainTopicName == null) {
+ throw new IllegalArgumentException("Parameter domainTopicName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.beginCreateOrUpdate(this.client.subscriptionId(), resourceGroupName, domainName, domainTopicName, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = beginCreateOrUpdateDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse beginCreateOrUpdateDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(201, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Delete a domain topic.
+ * Delete existing domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @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
+ */
+ public void delete(String resourceGroupName, String domainName, String domainTopicName) {
+ deleteWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName).toBlocking().last().body();
+ }
+
+ /**
+ * Delete a domain topic.
+ * Delete existing domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @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 deleteAsync(String resourceGroupName, String domainName, String domainTopicName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(deleteWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName), serviceCallback);
+ }
+
+ /**
+ * Delete a domain topic.
+ * Delete existing domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ public Observable deleteAsync(String resourceGroupName, String domainName, String domainTopicName) {
+ return deleteWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName).map(new Func1, Void>() {
+ @Override
+ public Void call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Delete a domain topic.
+ * Delete existing domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ public Observable> deleteWithServiceResponseAsync(String resourceGroupName, String domainName, String domainTopicName) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (domainName == null) {
+ throw new IllegalArgumentException("Parameter domainName is required and cannot be null.");
+ }
+ if (domainTopicName == null) {
+ throw new IllegalArgumentException("Parameter domainTopicName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ Observable> observable = service.delete(this.client.subscriptionId(), resourceGroupName, domainName, domainTopicName, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent());
+ return client.getAzureClient().getPostOrDeleteResultAsync(observable, new TypeToken() { }.getType());
+ }
+
+ /**
+ * Delete a domain topic.
+ * Delete existing domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @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
+ */
+ public void beginDelete(String resourceGroupName, String domainName, String domainTopicName) {
+ beginDeleteWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName).toBlocking().single().body();
+ }
+
+ /**
+ * Delete a domain topic.
+ * Delete existing domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @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 beginDeleteAsync(String resourceGroupName, String domainName, String domainTopicName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(beginDeleteWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName), serviceCallback);
+ }
+
+ /**
+ * Delete a domain topic.
+ * Delete existing domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ public Observable beginDeleteAsync(String resourceGroupName, String domainName, String domainTopicName) {
+ return beginDeleteWithServiceResponseAsync(resourceGroupName, domainName, domainTopicName).map(new Func1, Void>() {
+ @Override
+ public Void call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Delete a domain topic.
+ * Delete existing domain topic.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Name of the domain
+ * @param domainTopicName Name of the domain topic
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ public Observable> beginDeleteWithServiceResponseAsync(String resourceGroupName, String domainName, String domainTopicName) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (domainName == null) {
+ throw new IllegalArgumentException("Parameter domainName is required and cannot be null.");
+ }
+ if (domainTopicName == null) {
+ throw new IllegalArgumentException("Parameter domainTopicName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.beginDelete(this.client.subscriptionId(), resourceGroupName, domainName, domainTopicName, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = beginDeleteDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse beginDeleteDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(202, new TypeToken() { }.getType())
+ .register(204, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * List domain topics.
+ * List all the topics in a domain.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Domain name.
+ * @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<DomainTopicInner> object if successful.
+ */
+ public PagedList listByDomain(final String resourceGroupName, final String domainName) {
+ ServiceResponse> response = listByDomainSinglePageAsync(resourceGroupName, domainName).toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listByDomainNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * List domain topics.
+ * List all the topics in a domain.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Domain name.
+ * @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> listByDomainAsync(final String resourceGroupName, final String domainName, final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listByDomainSinglePageAsync(resourceGroupName, domainName),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listByDomainNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * List domain topics.
+ * List all the topics in a domain.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Domain name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<DomainTopicInner> object
+ */
+ public Observable> listByDomainAsync(final String resourceGroupName, final String domainName) {
+ return listByDomainWithServiceResponseAsync(resourceGroupName, domainName)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * List domain topics.
+ * List all the topics in a domain.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Domain name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<DomainTopicInner> object
+ */
+ public Observable>> listByDomainWithServiceResponseAsync(final String resourceGroupName, final String domainName) {
+ return listByDomainSinglePageAsync(resourceGroupName, domainName)
+ .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(listByDomainNextWithServiceResponseAsync(nextPageLink));
+ }
+ });
+ }
+
+ /**
+ * List domain topics.
+ * List all the topics in a domain.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Domain name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<DomainTopicInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listByDomainSinglePageAsync(final String resourceGroupName, final String domainName) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (domainName == null) {
+ throw new IllegalArgumentException("Parameter domainName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ final String filter = null;
+ final Integer top = null;
+ return service.listByDomain(this.client.subscriptionId(), resourceGroupName, domainName, this.client.apiVersion(), filter, top, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response response) {
+ try {
+ ServiceResponse> result = listByDomainDelegate(response);
+ return Observable.just(new ServiceResponse>(result.body(), result.response()));
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ /**
+ * List domain topics.
+ * List all the topics in a domain.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param domainName Domain name.
+ * @param filter Filter the results using OData syntax.
+ * @param top The number of results to return.
+ * @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<DomainTopicInner> object if successful.
+ */
+ public PagedList