diff --git a/sdk/servicebus/mgmt-v2018_01_01_preview/pom.xml b/sdk/servicebus/mgmt-v2018_01_01_preview/pom.xml index 7a91f1dbfb1e..68c64ab067a8 100644 --- a/sdk/servicebus/mgmt-v2018_01_01_preview/pom.xml +++ b/sdk/servicebus/mgmt-v2018_01_01_preview/pom.xml @@ -11,8 +11,8 @@ com.microsoft.azure azure-arm-parent - 1.2.0 - ../../parents/azure-arm-parent + 1.1.0 + ../../../pom.management.xml azure-mgmt-servicebus 1.0.0-beta diff --git a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/Encryption.java b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/Encryption.java new file mode 100644 index 000000000000..afa679125297 --- /dev/null +++ b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/Encryption.java @@ -0,0 +1,70 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.servicebus.v2018_01_01_preview; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Properties to configure Encryption. + */ +public class Encryption { + /** + * Properties of KeyVault. + */ + @JsonProperty(value = "keyVaultProperties") + private KeyVaultProperties keyVaultProperties; + + /** + * Enumerates the possible value of keySource for Encryption. Possible + * values include: 'Microsoft.KeyVault'. + */ + @JsonProperty(value = "keySource") + private KeySource keySource; + + /** + * Get properties of KeyVault. + * + * @return the keyVaultProperties value + */ + public KeyVaultProperties keyVaultProperties() { + return this.keyVaultProperties; + } + + /** + * Set properties of KeyVault. + * + * @param keyVaultProperties the keyVaultProperties value to set + * @return the Encryption object itself. + */ + public Encryption withKeyVaultProperties(KeyVaultProperties keyVaultProperties) { + this.keyVaultProperties = keyVaultProperties; + return this; + } + + /** + * Get enumerates the possible value of keySource for Encryption. Possible values include: 'Microsoft.KeyVault'. + * + * @return the keySource value + */ + public KeySource keySource() { + return this.keySource; + } + + /** + * Set enumerates the possible value of keySource for Encryption. Possible values include: 'Microsoft.KeyVault'. + * + * @param keySource the keySource value to set + * @return the Encryption object itself. + */ + public Encryption withKeySource(KeySource keySource) { + this.keySource = keySource; + return this; + } + +} diff --git a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/Identity.java b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/Identity.java new file mode 100644 index 000000000000..c174c7e78134 --- /dev/null +++ b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/Identity.java @@ -0,0 +1,74 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.servicebus.v2018_01_01_preview; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Properties to configure Identity for Bring your Own Keys. + */ +public class Identity { + /** + * ObjectId from the KeyVault. + */ + @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY) + private String principalId; + + /** + * TenantId from the KeyVault. + */ + @JsonProperty(value = "tenantId", access = JsonProperty.Access.WRITE_ONLY) + private String tenantId; + + /** + * Enumerates the possible value Identity type, which currently supports + * only 'SystemAssigned'. Possible values include: 'SystemAssigned'. + */ + @JsonProperty(value = "type") + private IdentityType type; + + /** + * Get objectId from the KeyVault. + * + * @return the principalId value + */ + public String principalId() { + return this.principalId; + } + + /** + * Get tenantId from the KeyVault. + * + * @return the tenantId value + */ + public String tenantId() { + return this.tenantId; + } + + /** + * Get enumerates the possible value Identity type, which currently supports only 'SystemAssigned'. Possible values include: 'SystemAssigned'. + * + * @return the type value + */ + public IdentityType type() { + return this.type; + } + + /** + * Set enumerates the possible value Identity type, which currently supports only 'SystemAssigned'. Possible values include: 'SystemAssigned'. + * + * @param type the type value to set + * @return the Identity object itself. + */ + public Identity withType(IdentityType type) { + this.type = type; + return this; + } + +} diff --git a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/IdentityType.java b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/IdentityType.java new file mode 100644 index 000000000000..c43e3c89ffc1 --- /dev/null +++ b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/IdentityType.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.servicebus.v2018_01_01_preview; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Defines values for IdentityType. + */ +public enum IdentityType { + /** Enum value SystemAssigned. */ + SYSTEM_ASSIGNED("SystemAssigned"); + + /** The actual serialized value for a IdentityType instance. */ + private String value; + + IdentityType(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a IdentityType instance. + * + * @param value the serialized value to parse. + * @return the parsed IdentityType object, or null if unable to parse. + */ + @JsonCreator + public static IdentityType fromString(String value) { + IdentityType[] items = IdentityType.values(); + for (IdentityType item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + @JsonValue + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/KeySource.java b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/KeySource.java new file mode 100644 index 000000000000..a24de174ccc8 --- /dev/null +++ b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/KeySource.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.servicebus.v2018_01_01_preview; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Defines values for KeySource. + */ +public enum KeySource { + /** Enum value Microsoft.KeyVault. */ + MICROSOFT_KEY_VAULT("Microsoft.KeyVault"); + + /** The actual serialized value for a KeySource instance. */ + private String value; + + KeySource(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a KeySource instance. + * + * @param value the serialized value to parse. + * @return the parsed KeySource object, or null if unable to parse. + */ + @JsonCreator + public static KeySource fromString(String value) { + KeySource[] items = KeySource.values(); + for (KeySource item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + @JsonValue + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/KeyVaultProperties.java b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/KeyVaultProperties.java new file mode 100644 index 000000000000..0f85cc59ad88 --- /dev/null +++ b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/KeyVaultProperties.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.servicebus.v2018_01_01_preview; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Properties to configure keyVault Properties. + */ +public class KeyVaultProperties { + /** + * Name of the Key from KeyVault. + */ + @JsonProperty(value = "keyName") + private String keyName; + + /** + * Uri of KeyVault. + */ + @JsonProperty(value = "keyVaultUri") + private String keyVaultUri; + + /** + * Get name of the Key from KeyVault. + * + * @return the keyName value + */ + public String keyName() { + return this.keyName; + } + + /** + * Set name of the Key from KeyVault. + * + * @param keyName the keyName value to set + * @return the KeyVaultProperties object itself. + */ + public KeyVaultProperties withKeyName(String keyName) { + this.keyName = keyName; + return this; + } + + /** + * Get uri of KeyVault. + * + * @return the keyVaultUri value + */ + public String keyVaultUri() { + return this.keyVaultUri; + } + + /** + * Set uri of KeyVault. + * + * @param keyVaultUri the keyVaultUri value to set + * @return the KeyVaultProperties object itself. + */ + public KeyVaultProperties withKeyVaultUri(String keyVaultUri) { + this.keyVaultUri = keyVaultUri; + return this; + } + +} diff --git a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/SBNamespace.java b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/SBNamespace.java index f4715c499bd3..893abe5a828d 100644 --- a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/SBNamespace.java +++ b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/SBNamespace.java @@ -30,6 +30,11 @@ public interface SBNamespace extends HasInner, Resource, Group */ DateTime createdAt(); + /** + * @return the encryption value. + */ + Encryption encryption(); + /** * @return the metricId value. */ @@ -82,6 +87,18 @@ interface Blank extends GroupableResourceCore.DefinitionWithRegion { interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup { } + /** + * The stage of the sbnamespace definition allowing to specify Encryption. + */ + interface WithEncryption { + /** + * Specifies encryption. + * @param encryption Properties of BYOK Encryption description + * @return the next definition stage + */ + WithCreate withEncryption(Encryption encryption); + } + /** * The stage of the sbnamespace definition allowing to specify Sku. */ @@ -111,19 +128,43 @@ interface WithZoneRedundant { * 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.WithSku, DefinitionStages.WithZoneRedundant { + interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithEncryption, DefinitionStages.WithSku, DefinitionStages.WithZoneRedundant { } } /** * The template for a SBNamespace update operation, containing all the settings that can be modified. */ - interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithSku, UpdateStages.WithZoneRedundant { + interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithEncryption, UpdateStages.WithIdentity, UpdateStages.WithSku, UpdateStages.WithZoneRedundant { } /** * Grouping of SBNamespace update stages. */ interface UpdateStages { + /** + * The stage of the sbnamespace update allowing to specify Encryption. + */ + interface WithEncryption { + /** + * Specifies encryption. + * @param encryption Properties of BYOK Encryption description + * @return the next update stage + */ + Update withEncryption(Encryption encryption); + } + + /** + * The stage of the sbnamespace update allowing to specify Identity. + */ + interface WithIdentity { + /** + * Specifies identity. + * @param identity Properties of BYOK Identity description + * @return the next update stage + */ + Update withIdentity(Identity identity); + } + /** * The stage of the sbnamespace update allowing to specify Sku. */ diff --git a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/SBNamespaceUpdateParameters.java b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/SBNamespaceUpdateParameters.java index ee0d086c2b40..10fb6765f77c 100644 --- a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/SBNamespaceUpdateParameters.java +++ b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/SBNamespaceUpdateParameters.java @@ -60,6 +60,18 @@ public class SBNamespaceUpdateParameters extends ResourceNamespacePatch { @JsonProperty(value = "properties.zoneRedundant") private Boolean zoneRedundant; + /** + * Properties of BYOK Encryption description. + */ + @JsonProperty(value = "properties.encryption") + private Encryption encryption; + + /** + * Properties of BYOK Identity description. + */ + @JsonProperty(value = "identity") + private Identity identity; + /** * Get properties of SKU. * @@ -145,4 +157,44 @@ public SBNamespaceUpdateParameters withZoneRedundant(Boolean zoneRedundant) { return this; } + /** + * Get properties of BYOK Encryption description. + * + * @return the encryption value + */ + public Encryption encryption() { + return this.encryption; + } + + /** + * Set properties of BYOK Encryption description. + * + * @param encryption the encryption value to set + * @return the SBNamespaceUpdateParameters object itself. + */ + public SBNamespaceUpdateParameters withEncryption(Encryption encryption) { + this.encryption = encryption; + return this; + } + + /** + * Get properties of BYOK Identity description. + * + * @return the identity value + */ + public Identity identity() { + return this.identity; + } + + /** + * Set properties of BYOK Identity description. + * + * @param identity the identity value to set + * @return the SBNamespaceUpdateParameters object itself. + */ + public SBNamespaceUpdateParameters withIdentity(Identity identity) { + this.identity = identity; + return this; + } + } diff --git a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/implementation/NamespacesImpl.java b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/implementation/NamespacesImpl.java index 7b4b153587c4..be78d302ee0a 100644 --- a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/implementation/NamespacesImpl.java +++ b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/implementation/NamespacesImpl.java @@ -184,10 +184,14 @@ private Observable getVirtualNetworkRuleInnerUsingNames public Observable getIpFilterRuleAsync(String resourceGroupName, String namespaceName, String ipFilterRuleName) { NamespacesInner client = this.inner(); return client.getIpFilterRuleAsync(resourceGroupName, namespaceName, ipFilterRuleName) - .map(new Func1() { + .flatMap(new Func1>() { @Override - public IpFilterRule call(IpFilterRuleInner inner) { - return wrapIpFilterRuleModel(inner); + public Observable call(IpFilterRuleInner inner) { + if (inner == null) { + return Observable.empty(); + } else { + return Observable.just((IpFilterRule)wrapIpFilterRuleModel(inner)); + } } }); } @@ -220,10 +224,14 @@ public Completable deleteIpFilterRuleAsync(String resourceGroupName, String name public Observable getVirtualNetworkRuleAsync(String resourceGroupName, String namespaceName, String virtualNetworkRuleName) { NamespacesInner client = this.inner(); return client.getVirtualNetworkRuleAsync(resourceGroupName, namespaceName, virtualNetworkRuleName) - .map(new Func1() { + .flatMap(new Func1>() { @Override - public VirtualNetworkRule call(VirtualNetworkRuleInner inner) { - return wrapVirtualNetworkRuleModel(inner); + public Observable call(VirtualNetworkRuleInner inner) { + if (inner == null) { + return Observable.empty(); + } else { + return Observable.just((VirtualNetworkRule)wrapVirtualNetworkRuleModel(inner)); + } } }); } diff --git a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/implementation/SBNamespaceImpl.java b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/implementation/SBNamespaceImpl.java index aebce3c181d6..4b10b5806cb5 100644 --- a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/implementation/SBNamespaceImpl.java +++ b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/implementation/SBNamespaceImpl.java @@ -14,6 +14,8 @@ import com.microsoft.azure.management.servicebus.v2018_01_01_preview.SBNamespaceUpdateParameters; import org.joda.time.DateTime; import com.microsoft.azure.management.servicebus.v2018_01_01_preview.SBSku; +import com.microsoft.azure.management.servicebus.v2018_01_01_preview.Encryption; +import com.microsoft.azure.management.servicebus.v2018_01_01_preview.Identity; import rx.functions.Func1; class SBNamespaceImpl extends GroupableResourceCoreImpl implements SBNamespace, SBNamespace.Definition, SBNamespace.Update { @@ -71,6 +73,11 @@ public DateTime createdAt() { return this.inner().createdAt(); } + @Override + public Encryption encryption() { + return this.inner().encryption(); + } + @Override public String metricId() { return this.inner().metricId(); @@ -101,6 +108,22 @@ public Boolean zoneRedundant() { return this.inner().zoneRedundant(); } + @Override + public SBNamespaceImpl withIdentity(Identity identity) { + this.updateParameter.withIdentity(identity); + return this; + } + + @Override + public SBNamespaceImpl withEncryption(Encryption encryption) { + if (isInCreateMode()) { + this.inner().withEncryption(encryption); + } else { + this.updateParameter.withEncryption(encryption); + } + return this; + } + @Override public SBNamespaceImpl withSku(SBSku sku) { if (isInCreateMode()) { diff --git a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/implementation/SBNamespaceInner.java b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/implementation/SBNamespaceInner.java index 42e5f6c45cde..022d1f7fcdd0 100644 --- a/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/implementation/SBNamespaceInner.java +++ b/sdk/servicebus/mgmt-v2018_01_01_preview/src/main/java/com/microsoft/azure/management/servicebus/v2018_01_01_preview/implementation/SBNamespaceInner.java @@ -10,6 +10,7 @@ import com.microsoft.azure.management.servicebus.v2018_01_01_preview.SBSku; import org.joda.time.DateTime; +import com.microsoft.azure.management.servicebus.v2018_01_01_preview.Encryption; import com.fasterxml.jackson.annotation.JsonProperty; import com.microsoft.rest.serializer.JsonFlatten; import com.microsoft.azure.Resource; @@ -62,6 +63,12 @@ public class SBNamespaceInner extends Resource { @JsonProperty(value = "properties.zoneRedundant") private Boolean zoneRedundant; + /** + * Properties of BYOK Encryption description. + */ + @JsonProperty(value = "properties.encryption") + private Encryption encryption; + /** * Get properties of SKU. * @@ -147,4 +154,24 @@ public SBNamespaceInner withZoneRedundant(Boolean zoneRedundant) { return this; } + /** + * Get properties of BYOK Encryption description. + * + * @return the encryption value + */ + public Encryption encryption() { + return this.encryption; + } + + /** + * Set properties of BYOK Encryption description. + * + * @param encryption the encryption value to set + * @return the SBNamespaceInner object itself. + */ + public SBNamespaceInner withEncryption(Encryption encryption) { + this.encryption = encryption; + return this; + } + }