diff --git a/sdk/managedapplications/mgmt-v2019_07_01/pom.xml b/sdk/managedapplications/mgmt-v2019_07_01/pom.xml new file mode 100644 index 000000000000..715d003c8228 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/pom.xml @@ -0,0 +1,135 @@ + + + 4.0.0 + com.microsoft.azure.managedapplications.v2019_07_01 + + com.microsoft.azure + azure-arm-parent + 1.1.0 + ../../../pom.management.xml + + azure-mgmt-managedapplications + 1.0.0-beta + jar + Microsoft Azure SDK for Solutions Management + This package contains Microsoft Solutions 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/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Application.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Application.java new file mode 100644 index 000000000000..b458dd52a5c8 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Application.java @@ -0,0 +1,373 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.microsoft.azure.arm.model.HasInner; +import com.microsoft.azure.arm.resources.models.Resource; +import com.microsoft.azure.arm.resources.models.GroupableResourceCore; +import com.microsoft.azure.arm.resources.models.HasResourceGroup; +import com.microsoft.azure.arm.model.Refreshable; +import com.microsoft.azure.arm.model.Updatable; +import com.microsoft.azure.arm.model.Appliable; +import com.microsoft.azure.arm.model.Creatable; +import com.microsoft.azure.arm.resources.models.HasManager; +import com.microsoft.azure.management.managedapplications.v2019_07_01.implementation.ManagedApplicationsManager; +import java.util.List; +import com.microsoft.azure.management.managedapplications.v2019_07_01.implementation.ApplicationInner; + +/** + * Type representing Application. + */ +public interface Application extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager { + /** + * @return the applicationDefinitionId value. + */ + String applicationDefinitionId(); + + /** + * @return the artifacts value. + */ + List artifacts(); + + /** + * @return the authorizations value. + */ + List authorizations(); + + /** + * @return the billingDetails value. + */ + ApplicationBillingDetailsDefinition billingDetails(); + + /** + * @return the createdBy value. + */ + ApplicationClientDetails createdBy(); + + /** + * @return the customerSupport value. + */ + ApplicationPackageContact customerSupport(); + + /** + * @return the identity value. + */ + Identity identity(); + + /** + * @return the jitAccessPolicy value. + */ + ApplicationJitAccessPolicy jitAccessPolicy(); + + /** + * @return the kind value. + */ + String kind(); + + /** + * @return the managedBy value. + */ + String managedBy(); + + /** + * @return the managedResourceGroupId value. + */ + String managedResourceGroupId(); + + /** + * @return the managementMode value. + */ + ApplicationManagementMode managementMode(); + + /** + * @return the outputs value. + */ + Object outputs(); + + /** + * @return the parameters value. + */ + Object parameters(); + + /** + * @return the plan value. + */ + Plan plan(); + + /** + * @return the provisioningState value. + */ + ProvisioningState provisioningState(); + + /** + * @return the publisherTenantId value. + */ + String publisherTenantId(); + + /** + * @return the sku value. + */ + Sku sku(); + + /** + * @return the supportUrls value. + */ + ApplicationPackageSupportUrls supportUrls(); + + /** + * @return the updatedBy value. + */ + ApplicationClientDetails updatedBy(); + + /** + * The entirety of the Application definition. + */ + interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithKind, DefinitionStages.WithCreate { + } + + /** + * Grouping of Application definition stages. + */ + interface DefinitionStages { + /** + * The first stage of a Application definition. + */ + interface Blank extends GroupableResourceCore.DefinitionWithRegion { + } + + /** + * The stage of the Application definition allowing to specify the resource group. + */ + interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup { + } + + /** + * The stage of the application definition allowing to specify Kind. + */ + interface WithKind { + /** + * Specifies kind. + * @param kind The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog + * @return the next definition stage +*/ + WithCreate withKind(String kind); + } + + /** + * The stage of the application definition allowing to specify ApplicationDefinitionId. + */ + interface WithApplicationDefinitionId { + /** + * Specifies applicationDefinitionId. + * @param applicationDefinitionId The fully qualified path of managed application definition Id + * @return the next definition stage + */ + WithCreate withApplicationDefinitionId(String applicationDefinitionId); + } + + /** + * The stage of the application definition allowing to specify Identity. + */ + interface WithIdentity { + /** + * Specifies identity. + * @param identity The identity of the resource + * @return the next definition stage + */ + WithCreate withIdentity(Identity identity); + } + + /** + * The stage of the application definition allowing to specify JitAccessPolicy. + */ + interface WithJitAccessPolicy { + /** + * Specifies jitAccessPolicy. + * @param jitAccessPolicy The managed application Jit access policy + * @return the next definition stage + */ + WithCreate withJitAccessPolicy(ApplicationJitAccessPolicy jitAccessPolicy); + } + + /** + * The stage of the application definition allowing to specify ManagedBy. + */ + interface WithManagedBy { + /** + * Specifies managedBy. + * @param managedBy ID of the resource that manages this resource + * @return the next definition stage + */ + WithCreate withManagedBy(String managedBy); + } + + /** + * The stage of the application definition allowing to specify ManagedResourceGroupId. + */ + interface WithManagedResourceGroupId { + /** + * Specifies managedResourceGroupId. + * @param managedResourceGroupId The managed resource group Id + * @return the next definition stage + */ + WithCreate withManagedResourceGroupId(String managedResourceGroupId); + } + + /** + * The stage of the application definition allowing to specify Parameters. + */ + interface WithParameters { + /** + * Specifies parameters. + * @param parameters Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string + * @return the next definition stage + */ + WithCreate withParameters(Object parameters); + } + + /** + * The stage of the application definition allowing to specify Plan. + */ + interface WithPlan { + /** + * Specifies plan. + * @param plan The plan information + * @return the next definition stage + */ + WithCreate withPlan(Plan plan); + } + + /** + * The stage of the application definition allowing to specify Sku. + */ + interface WithSku { + /** + * Specifies sku. + * @param sku The SKU of the resource + * @return the next definition stage + */ + WithCreate withSku(Sku sku); + } + + /** + * 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.WithApplicationDefinitionId, DefinitionStages.WithIdentity, DefinitionStages.WithJitAccessPolicy, DefinitionStages.WithManagedBy, DefinitionStages.WithManagedResourceGroupId, DefinitionStages.WithParameters, DefinitionStages.WithPlan, DefinitionStages.WithSku { + } + } + /** + * The template for a Application update operation, containing all the settings that can be modified. + */ + interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithApplicationDefinitionId, UpdateStages.WithIdentity, UpdateStages.WithJitAccessPolicy, UpdateStages.WithManagedBy, UpdateStages.WithManagedResourceGroupId, UpdateStages.WithParameters, UpdateStages.WithPlan, UpdateStages.WithSku { + } + + /** + * Grouping of Application update stages. + */ + interface UpdateStages { + /** + * The stage of the application update allowing to specify ApplicationDefinitionId. + */ + interface WithApplicationDefinitionId { + /** + * Specifies applicationDefinitionId. + * @param applicationDefinitionId The fully qualified path of managed application definition Id + * @return the next update stage + */ + Update withApplicationDefinitionId(String applicationDefinitionId); + } + + /** + * The stage of the application update allowing to specify Identity. + */ + interface WithIdentity { + /** + * Specifies identity. + * @param identity The identity of the resource + * @return the next update stage + */ + Update withIdentity(Identity identity); + } + + /** + * The stage of the application update allowing to specify JitAccessPolicy. + */ + interface WithJitAccessPolicy { + /** + * Specifies jitAccessPolicy. + * @param jitAccessPolicy The managed application Jit access policy + * @return the next update stage + */ + Update withJitAccessPolicy(ApplicationJitAccessPolicy jitAccessPolicy); + } + + /** + * The stage of the application update allowing to specify ManagedBy. + */ + interface WithManagedBy { + /** + * Specifies managedBy. + * @param managedBy ID of the resource that manages this resource + * @return the next update stage + */ + Update withManagedBy(String managedBy); + } + + /** + * The stage of the application update allowing to specify ManagedResourceGroupId. + */ + interface WithManagedResourceGroupId { + /** + * Specifies managedResourceGroupId. + * @param managedResourceGroupId The managed resource group Id + * @return the next update stage + */ + Update withManagedResourceGroupId(String managedResourceGroupId); + } + + /** + * The stage of the application update allowing to specify Parameters. + */ + interface WithParameters { + /** + * Specifies parameters. + * @param parameters Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string + * @return the next update stage + */ + Update withParameters(Object parameters); + } + + /** + * The stage of the application update allowing to specify Plan. + */ + interface WithPlan { + /** + * Specifies plan. + * @param plan The plan information + * @return the next update stage + */ + Update withPlan(Plan plan); + } + + /** + * The stage of the application update allowing to specify Sku. + */ + interface WithSku { + /** + * Specifies sku. + * @param sku The SKU of the resource + * @return the next update stage + */ + Update withSku(Sku sku); + } + + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationArtifact.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationArtifact.java new file mode 100644 index 000000000000..8b535b3c719e --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationArtifact.java @@ -0,0 +1,98 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Managed application artifact. + */ +public class ApplicationArtifact { + /** + * The managed application artifact name. Possible values include: + * 'NotSpecified', 'ViewDefinition', 'Authorizations', + * 'CustomRoleDefinition'. + */ + @JsonProperty(value = "name", required = true) + private ApplicationArtifactName name; + + /** + * The managed application artifact blob uri. + */ + @JsonProperty(value = "uri", required = true) + private String uri; + + /** + * The managed application artifact type. Possible values include: + * 'NotSpecified', 'Template', 'Custom'. + */ + @JsonProperty(value = "type", required = true) + private ApplicationArtifactType type; + + /** + * Get the managed application artifact name. Possible values include: 'NotSpecified', 'ViewDefinition', 'Authorizations', 'CustomRoleDefinition'. + * + * @return the name value + */ + public ApplicationArtifactName name() { + return this.name; + } + + /** + * Set the managed application artifact name. Possible values include: 'NotSpecified', 'ViewDefinition', 'Authorizations', 'CustomRoleDefinition'. + * + * @param name the name value to set + * @return the ApplicationArtifact object itself. + */ + public ApplicationArtifact withName(ApplicationArtifactName name) { + this.name = name; + return this; + } + + /** + * Get the managed application artifact blob uri. + * + * @return the uri value + */ + public String uri() { + return this.uri; + } + + /** + * Set the managed application artifact blob uri. + * + * @param uri the uri value to set + * @return the ApplicationArtifact object itself. + */ + public ApplicationArtifact withUri(String uri) { + this.uri = uri; + return this; + } + + /** + * Get the managed application artifact type. Possible values include: 'NotSpecified', 'Template', 'Custom'. + * + * @return the type value + */ + public ApplicationArtifactType type() { + return this.type; + } + + /** + * Set the managed application artifact type. Possible values include: 'NotSpecified', 'Template', 'Custom'. + * + * @param type the type value to set + * @return the ApplicationArtifact object itself. + */ + public ApplicationArtifact withType(ApplicationArtifactType type) { + this.type = type; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationArtifactName.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationArtifactName.java new file mode 100644 index 000000000000..acc44908861c --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationArtifactName.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.managedapplications.v2019_07_01; + +import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.microsoft.rest.ExpandableStringEnum; + +/** + * Defines values for ApplicationArtifactName. + */ +public final class ApplicationArtifactName extends ExpandableStringEnum { + /** Static value NotSpecified for ApplicationArtifactName. */ + public static final ApplicationArtifactName NOT_SPECIFIED = fromString("NotSpecified"); + + /** Static value ViewDefinition for ApplicationArtifactName. */ + public static final ApplicationArtifactName VIEW_DEFINITION = fromString("ViewDefinition"); + + /** Static value Authorizations for ApplicationArtifactName. */ + public static final ApplicationArtifactName AUTHORIZATIONS = fromString("Authorizations"); + + /** Static value CustomRoleDefinition for ApplicationArtifactName. */ + public static final ApplicationArtifactName CUSTOM_ROLE_DEFINITION = fromString("CustomRoleDefinition"); + + /** + * Creates or finds a ApplicationArtifactName from its string representation. + * @param name a name to look for + * @return the corresponding ApplicationArtifactName + */ + @JsonCreator + public static ApplicationArtifactName fromString(String name) { + return fromString(name, ApplicationArtifactName.class); + } + + /** + * @return known ApplicationArtifactName values + */ + public static Collection values() { + return values(ApplicationArtifactName.class); + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationArtifactType.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationArtifactType.java new file mode 100644 index 000000000000..1fda54509b04 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationArtifactType.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.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Defines values for ApplicationArtifactType. + */ +public enum ApplicationArtifactType { + /** Enum value NotSpecified. */ + NOT_SPECIFIED("NotSpecified"), + + /** Enum value Template. */ + TEMPLATE("Template"), + + /** Enum value Custom. */ + CUSTOM("Custom"); + + /** The actual serialized value for a ApplicationArtifactType instance. */ + private String value; + + ApplicationArtifactType(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a ApplicationArtifactType instance. + * + * @param value the serialized value to parse. + * @return the parsed ApplicationArtifactType object, or null if unable to parse. + */ + @JsonCreator + public static ApplicationArtifactType fromString(String value) { + ApplicationArtifactType[] items = ApplicationArtifactType.values(); + for (ApplicationArtifactType item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + @JsonValue + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationAuthorization.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationAuthorization.java new file mode 100644 index 000000000000..2776b2a29fe4 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationAuthorization.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.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The managed application provider authorization. + */ +public class ApplicationAuthorization { + /** + * The provider's principal identifier. This is the identity that the + * provider will use to call ARM to manage the managed application + * resources. + */ + @JsonProperty(value = "principalId", required = true) + private String principalId; + + /** + * The provider's role definition identifier. This role will define all the + * permissions that the provider must have on the managed application's + * container resource group. This role definition cannot have permission to + * delete the resource group. + */ + @JsonProperty(value = "roleDefinitionId", required = true) + private String roleDefinitionId; + + /** + * Get the provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources. + * + * @return the principalId value + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources. + * + * @param principalId the principalId value to set + * @return the ApplicationAuthorization object itself. + */ + public ApplicationAuthorization withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the provider's role definition identifier. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group. + * + * @return the roleDefinitionId value + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the provider's role definition identifier. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group. + * + * @param roleDefinitionId the roleDefinitionId value to set + * @return the ApplicationAuthorization object itself. + */ + public ApplicationAuthorization withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationBillingDetailsDefinition.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationBillingDetailsDefinition.java new file mode 100644 index 000000000000..a396d992adf9 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationBillingDetailsDefinition.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.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Managed application billing details definition. + */ +public class ApplicationBillingDetailsDefinition { + /** + * The managed application resource usage Id. + */ + @JsonProperty(value = "resourceUsageId") + private String resourceUsageId; + + /** + * Get the managed application resource usage Id. + * + * @return the resourceUsageId value + */ + public String resourceUsageId() { + return this.resourceUsageId; + } + + /** + * Set the managed application resource usage Id. + * + * @param resourceUsageId the resourceUsageId value to set + * @return the ApplicationBillingDetailsDefinition object itself. + */ + public ApplicationBillingDetailsDefinition withResourceUsageId(String resourceUsageId) { + this.resourceUsageId = resourceUsageId; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationClientDetails.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationClientDetails.java new file mode 100644 index 000000000000..50ecce8bdf09 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationClientDetails.java @@ -0,0 +1,96 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The application client details to track the entity creating/updating the + * managed app resource. + */ +public class ApplicationClientDetails { + /** + * The client Oid. + */ + @JsonProperty(value = "oid") + private String oid; + + /** + * The client Puid. + */ + @JsonProperty(value = "puid") + private String puid; + + /** + * The client application Id. + */ + @JsonProperty(value = "applicationId") + private String applicationId; + + /** + * Get the client Oid. + * + * @return the oid value + */ + public String oid() { + return this.oid; + } + + /** + * Set the client Oid. + * + * @param oid the oid value to set + * @return the ApplicationClientDetails object itself. + */ + public ApplicationClientDetails withOid(String oid) { + this.oid = oid; + return this; + } + + /** + * Get the client Puid. + * + * @return the puid value + */ + public String puid() { + return this.puid; + } + + /** + * Set the client Puid. + * + * @param puid the puid value to set + * @return the ApplicationClientDetails object itself. + */ + public ApplicationClientDetails withPuid(String puid) { + this.puid = puid; + return this; + } + + /** + * Get the client application Id. + * + * @return the applicationId value + */ + public String applicationId() { + return this.applicationId; + } + + /** + * Set the client application Id. + * + * @param applicationId the applicationId value to set + * @return the ApplicationClientDetails object itself. + */ + public ApplicationClientDetails withApplicationId(String applicationId) { + this.applicationId = applicationId; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDefinition.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDefinition.java new file mode 100644 index 000000000000..bfb1a931bfd8 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDefinition.java @@ -0,0 +1,521 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.microsoft.azure.arm.model.HasInner; +import com.microsoft.azure.arm.resources.models.Resource; +import com.microsoft.azure.arm.resources.models.GroupableResourceCore; +import com.microsoft.azure.arm.resources.models.HasResourceGroup; +import com.microsoft.azure.arm.model.Refreshable; +import com.microsoft.azure.arm.model.Updatable; +import com.microsoft.azure.arm.model.Appliable; +import com.microsoft.azure.arm.model.Creatable; +import com.microsoft.azure.arm.resources.models.HasManager; +import com.microsoft.azure.management.managedapplications.v2019_07_01.implementation.ManagedApplicationsManager; +import java.util.List; +import com.microsoft.azure.management.managedapplications.v2019_07_01.implementation.ApplicationDefinitionInner; + +/** + * Type representing ApplicationDefinition. + */ +public interface ApplicationDefinition extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager { + /** + * @return the artifacts value. + */ + List artifacts(); + + /** + * @return the authorizations value. + */ + List authorizations(); + + /** + * @return the createUiDefinition value. + */ + Object createUiDefinition(); + + /** + * @return the deploymentPolicy value. + */ + ApplicationDeploymentPolicy deploymentPolicy(); + + /** + * @return the description value. + */ + String description(); + + /** + * @return the displayName value. + */ + String displayName(); + + /** + * @return the isEnabled value. + */ + Boolean isEnabled(); + + /** + * @return the lockingPolicy value. + */ + ApplicationPackageLockingPolicyDefinition lockingPolicy(); + + /** + * @return the lockLevel value. + */ + ApplicationLockLevel lockLevel(); + + /** + * @return the mainTemplate value. + */ + Object mainTemplate(); + + /** + * @return the managedBy value. + */ + String managedBy(); + + /** + * @return the managementPolicy value. + */ + ApplicationManagementPolicy managementPolicy(); + + /** + * @return the notificationPolicy value. + */ + ApplicationNotificationPolicy notificationPolicy(); + + /** + * @return the packageFileUri value. + */ + String packageFileUri(); + + /** + * @return the policies value. + */ + List policies(); + + /** + * @return the sku value. + */ + Sku sku(); + + /** + * The entirety of the ApplicationDefinition definition. + */ + interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithLockLevel, DefinitionStages.WithCreate { + } + + /** + * Grouping of ApplicationDefinition definition stages. + */ + interface DefinitionStages { + /** + * The first stage of a ApplicationDefinition definition. + */ + interface Blank extends GroupableResourceCore.DefinitionWithRegion { + } + + /** + * The stage of the ApplicationDefinition definition allowing to specify the resource group. + */ + interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup { + } + + /** + * The stage of the applicationdefinition definition allowing to specify LockLevel. + */ + interface WithLockLevel { + /** + * Specifies lockLevel. + * @param lockLevel The managed application lock level. Possible values include: 'CanNotDelete', 'ReadOnly', 'None' + * @return the next definition stage +*/ + WithCreate withLockLevel(ApplicationLockLevel lockLevel); + } + + /** + * The stage of the applicationdefinition definition allowing to specify Artifacts. + */ + interface WithArtifacts { + /** + * Specifies artifacts. + * @param artifacts The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition + * @return the next definition stage + */ + WithCreate withArtifacts(List artifacts); + } + + /** + * The stage of the applicationdefinition definition allowing to specify Authorizations. + */ + interface WithAuthorizations { + /** + * Specifies authorizations. + * @param authorizations The managed application provider authorizations + * @return the next definition stage + */ + WithCreate withAuthorizations(List authorizations); + } + + /** + * The stage of the applicationdefinition definition allowing to specify CreateUiDefinition. + */ + interface WithCreateUiDefinition { + /** + * Specifies createUiDefinition. + * @param createUiDefinition The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string + * @return the next definition stage + */ + WithCreate withCreateUiDefinition(Object createUiDefinition); + } + + /** + * The stage of the applicationdefinition definition allowing to specify DeploymentPolicy. + */ + interface WithDeploymentPolicy { + /** + * Specifies deploymentPolicy. + * @param deploymentPolicy The managed application deployment policy + * @return the next definition stage + */ + WithCreate withDeploymentPolicy(ApplicationDeploymentPolicy deploymentPolicy); + } + + /** + * The stage of the applicationdefinition definition allowing to specify Description. + */ + interface WithDescription { + /** + * Specifies description. + * @param description The managed application definition description + * @return the next definition stage + */ + WithCreate withDescription(String description); + } + + /** + * The stage of the applicationdefinition definition allowing to specify DisplayName. + */ + interface WithDisplayName { + /** + * Specifies displayName. + * @param displayName The managed application definition display name + * @return the next definition stage + */ + WithCreate withDisplayName(String displayName); + } + + /** + * The stage of the applicationdefinition definition allowing to specify IsEnabled. + */ + interface WithIsEnabled { + /** + * Specifies isEnabled. + * @param isEnabled A value indicating whether the package is enabled or not + * @return the next definition stage + */ + WithCreate withIsEnabled(Boolean isEnabled); + } + + /** + * The stage of the applicationdefinition definition allowing to specify LockingPolicy. + */ + interface WithLockingPolicy { + /** + * Specifies lockingPolicy. + * @param lockingPolicy The managed application locking policy + * @return the next definition stage + */ + WithCreate withLockingPolicy(ApplicationPackageLockingPolicyDefinition lockingPolicy); + } + + /** + * The stage of the applicationdefinition definition allowing to specify MainTemplate. + */ + interface WithMainTemplate { + /** + * Specifies mainTemplate. + * @param mainTemplate The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string + * @return the next definition stage + */ + WithCreate withMainTemplate(Object mainTemplate); + } + + /** + * The stage of the applicationdefinition definition allowing to specify ManagedBy. + */ + interface WithManagedBy { + /** + * Specifies managedBy. + * @param managedBy ID of the resource that manages this resource + * @return the next definition stage + */ + WithCreate withManagedBy(String managedBy); + } + + /** + * The stage of the applicationdefinition definition allowing to specify ManagementPolicy. + */ + interface WithManagementPolicy { + /** + * Specifies managementPolicy. + * @param managementPolicy The managed application management policy that determines publisher's access to the managed resource group + * @return the next definition stage + */ + WithCreate withManagementPolicy(ApplicationManagementPolicy managementPolicy); + } + + /** + * The stage of the applicationdefinition definition allowing to specify NotificationPolicy. + */ + interface WithNotificationPolicy { + /** + * Specifies notificationPolicy. + * @param notificationPolicy The managed application notification policy + * @return the next definition stage + */ + WithCreate withNotificationPolicy(ApplicationNotificationPolicy notificationPolicy); + } + + /** + * The stage of the applicationdefinition definition allowing to specify PackageFileUri. + */ + interface WithPackageFileUri { + /** + * Specifies packageFileUri. + * @param packageFileUri The managed application definition package file Uri. Use this element + * @return the next definition stage + */ + WithCreate withPackageFileUri(String packageFileUri); + } + + /** + * The stage of the applicationdefinition definition allowing to specify Policies. + */ + interface WithPolicies { + /** + * Specifies policies. + * @param policies The managed application provider policies + * @return the next definition stage + */ + WithCreate withPolicies(List policies); + } + + /** + * The stage of the applicationdefinition definition allowing to specify Sku. + */ + interface WithSku { + /** + * Specifies sku. + * @param sku The SKU of the resource + * @return the next definition stage + */ + WithCreate withSku(Sku sku); + } + + /** + * 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.WithArtifacts, DefinitionStages.WithAuthorizations, DefinitionStages.WithCreateUiDefinition, DefinitionStages.WithDeploymentPolicy, DefinitionStages.WithDescription, DefinitionStages.WithDisplayName, DefinitionStages.WithIsEnabled, DefinitionStages.WithLockingPolicy, DefinitionStages.WithMainTemplate, DefinitionStages.WithManagedBy, DefinitionStages.WithManagementPolicy, DefinitionStages.WithNotificationPolicy, DefinitionStages.WithPackageFileUri, DefinitionStages.WithPolicies, DefinitionStages.WithSku { + } + } + /** + * The template for a ApplicationDefinition update operation, containing all the settings that can be modified. + */ + interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithArtifacts, UpdateStages.WithAuthorizations, UpdateStages.WithCreateUiDefinition, UpdateStages.WithDeploymentPolicy, UpdateStages.WithDescription, UpdateStages.WithDisplayName, UpdateStages.WithIsEnabled, UpdateStages.WithLockingPolicy, UpdateStages.WithMainTemplate, UpdateStages.WithManagedBy, UpdateStages.WithManagementPolicy, UpdateStages.WithNotificationPolicy, UpdateStages.WithPackageFileUri, UpdateStages.WithPolicies, UpdateStages.WithSku { + } + + /** + * Grouping of ApplicationDefinition update stages. + */ + interface UpdateStages { + /** + * The stage of the applicationdefinition update allowing to specify Artifacts. + */ + interface WithArtifacts { + /** + * Specifies artifacts. + * @param artifacts The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition + * @return the next update stage + */ + Update withArtifacts(List artifacts); + } + + /** + * The stage of the applicationdefinition update allowing to specify Authorizations. + */ + interface WithAuthorizations { + /** + * Specifies authorizations. + * @param authorizations The managed application provider authorizations + * @return the next update stage + */ + Update withAuthorizations(List authorizations); + } + + /** + * The stage of the applicationdefinition update allowing to specify CreateUiDefinition. + */ + interface WithCreateUiDefinition { + /** + * Specifies createUiDefinition. + * @param createUiDefinition The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string + * @return the next update stage + */ + Update withCreateUiDefinition(Object createUiDefinition); + } + + /** + * The stage of the applicationdefinition update allowing to specify DeploymentPolicy. + */ + interface WithDeploymentPolicy { + /** + * Specifies deploymentPolicy. + * @param deploymentPolicy The managed application deployment policy + * @return the next update stage + */ + Update withDeploymentPolicy(ApplicationDeploymentPolicy deploymentPolicy); + } + + /** + * The stage of the applicationdefinition update allowing to specify Description. + */ + interface WithDescription { + /** + * Specifies description. + * @param description The managed application definition description + * @return the next update stage + */ + Update withDescription(String description); + } + + /** + * The stage of the applicationdefinition update allowing to specify DisplayName. + */ + interface WithDisplayName { + /** + * Specifies displayName. + * @param displayName The managed application definition display name + * @return the next update stage + */ + Update withDisplayName(String displayName); + } + + /** + * The stage of the applicationdefinition update allowing to specify IsEnabled. + */ + interface WithIsEnabled { + /** + * Specifies isEnabled. + * @param isEnabled A value indicating whether the package is enabled or not + * @return the next update stage + */ + Update withIsEnabled(Boolean isEnabled); + } + + /** + * The stage of the applicationdefinition update allowing to specify LockingPolicy. + */ + interface WithLockingPolicy { + /** + * Specifies lockingPolicy. + * @param lockingPolicy The managed application locking policy + * @return the next update stage + */ + Update withLockingPolicy(ApplicationPackageLockingPolicyDefinition lockingPolicy); + } + + /** + * The stage of the applicationdefinition update allowing to specify MainTemplate. + */ + interface WithMainTemplate { + /** + * Specifies mainTemplate. + * @param mainTemplate The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string + * @return the next update stage + */ + Update withMainTemplate(Object mainTemplate); + } + + /** + * The stage of the applicationdefinition update allowing to specify ManagedBy. + */ + interface WithManagedBy { + /** + * Specifies managedBy. + * @param managedBy ID of the resource that manages this resource + * @return the next update stage + */ + Update withManagedBy(String managedBy); + } + + /** + * The stage of the applicationdefinition update allowing to specify ManagementPolicy. + */ + interface WithManagementPolicy { + /** + * Specifies managementPolicy. + * @param managementPolicy The managed application management policy that determines publisher's access to the managed resource group + * @return the next update stage + */ + Update withManagementPolicy(ApplicationManagementPolicy managementPolicy); + } + + /** + * The stage of the applicationdefinition update allowing to specify NotificationPolicy. + */ + interface WithNotificationPolicy { + /** + * Specifies notificationPolicy. + * @param notificationPolicy The managed application notification policy + * @return the next update stage + */ + Update withNotificationPolicy(ApplicationNotificationPolicy notificationPolicy); + } + + /** + * The stage of the applicationdefinition update allowing to specify PackageFileUri. + */ + interface WithPackageFileUri { + /** + * Specifies packageFileUri. + * @param packageFileUri The managed application definition package file Uri. Use this element + * @return the next update stage + */ + Update withPackageFileUri(String packageFileUri); + } + + /** + * The stage of the applicationdefinition update allowing to specify Policies. + */ + interface WithPolicies { + /** + * Specifies policies. + * @param policies The managed application provider policies + * @return the next update stage + */ + Update withPolicies(List policies); + } + + /** + * The stage of the applicationdefinition update allowing to specify Sku. + */ + interface WithSku { + /** + * Specifies sku. + * @param sku The SKU of the resource + * @return the next update stage + */ + Update withSku(Sku sku); + } + + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDefinitionArtifact.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDefinitionArtifact.java new file mode 100644 index 000000000000..24c6b25529c6 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDefinitionArtifact.java @@ -0,0 +1,98 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Application definition artifact. + */ +public class ApplicationDefinitionArtifact { + /** + * The managed application definition artifact name. Possible values + * include: 'NotSpecified', 'ApplicationResourceTemplate', + * 'CreateUiDefinition', 'MainTemplateParameters'. + */ + @JsonProperty(value = "name", required = true) + private ApplicationDefinitionArtifactName name; + + /** + * The managed application definition artifact blob uri. + */ + @JsonProperty(value = "uri", required = true) + private String uri; + + /** + * The managed application definition artifact type. Possible values + * include: 'NotSpecified', 'Template', 'Custom'. + */ + @JsonProperty(value = "type", required = true) + private ApplicationArtifactType type; + + /** + * Get the managed application definition artifact name. Possible values include: 'NotSpecified', 'ApplicationResourceTemplate', 'CreateUiDefinition', 'MainTemplateParameters'. + * + * @return the name value + */ + public ApplicationDefinitionArtifactName name() { + return this.name; + } + + /** + * Set the managed application definition artifact name. Possible values include: 'NotSpecified', 'ApplicationResourceTemplate', 'CreateUiDefinition', 'MainTemplateParameters'. + * + * @param name the name value to set + * @return the ApplicationDefinitionArtifact object itself. + */ + public ApplicationDefinitionArtifact withName(ApplicationDefinitionArtifactName name) { + this.name = name; + return this; + } + + /** + * Get the managed application definition artifact blob uri. + * + * @return the uri value + */ + public String uri() { + return this.uri; + } + + /** + * Set the managed application definition artifact blob uri. + * + * @param uri the uri value to set + * @return the ApplicationDefinitionArtifact object itself. + */ + public ApplicationDefinitionArtifact withUri(String uri) { + this.uri = uri; + return this; + } + + /** + * Get the managed application definition artifact type. Possible values include: 'NotSpecified', 'Template', 'Custom'. + * + * @return the type value + */ + public ApplicationArtifactType type() { + return this.type; + } + + /** + * Set the managed application definition artifact type. Possible values include: 'NotSpecified', 'Template', 'Custom'. + * + * @param type the type value to set + * @return the ApplicationDefinitionArtifact object itself. + */ + public ApplicationDefinitionArtifact withType(ApplicationArtifactType type) { + this.type = type; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDefinitionArtifactName.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDefinitionArtifactName.java new file mode 100644 index 000000000000..f623e85af1d7 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDefinitionArtifactName.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.managedapplications.v2019_07_01; + +import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.microsoft.rest.ExpandableStringEnum; + +/** + * Defines values for ApplicationDefinitionArtifactName. + */ +public final class ApplicationDefinitionArtifactName extends ExpandableStringEnum { + /** Static value NotSpecified for ApplicationDefinitionArtifactName. */ + public static final ApplicationDefinitionArtifactName NOT_SPECIFIED = fromString("NotSpecified"); + + /** Static value ApplicationResourceTemplate for ApplicationDefinitionArtifactName. */ + public static final ApplicationDefinitionArtifactName APPLICATION_RESOURCE_TEMPLATE = fromString("ApplicationResourceTemplate"); + + /** Static value CreateUiDefinition for ApplicationDefinitionArtifactName. */ + public static final ApplicationDefinitionArtifactName CREATE_UI_DEFINITION = fromString("CreateUiDefinition"); + + /** Static value MainTemplateParameters for ApplicationDefinitionArtifactName. */ + public static final ApplicationDefinitionArtifactName MAIN_TEMPLATE_PARAMETERS = fromString("MainTemplateParameters"); + + /** + * Creates or finds a ApplicationDefinitionArtifactName from its string representation. + * @param name a name to look for + * @return the corresponding ApplicationDefinitionArtifactName + */ + @JsonCreator + public static ApplicationDefinitionArtifactName fromString(String name) { + return fromString(name, ApplicationDefinitionArtifactName.class); + } + + /** + * @return known ApplicationDefinitionArtifactName values + */ + public static Collection values() { + return values(ApplicationDefinitionArtifactName.class); + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDefinitions.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDefinitions.java new file mode 100644 index 000000000000..f7ff5d5fd761 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDefinitions.java @@ -0,0 +1,54 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.microsoft.azure.arm.collection.SupportsCreating; +import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup; +import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion; +import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup; +import rx.Observable; +import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup; +import rx.Completable; +import com.microsoft.azure.management.managedapplications.v2019_07_01.implementation.ApplicationDefinitionInner; +import com.microsoft.azure.management.managedapplications.v2019_07_01.implementation.ApplicationDefinitionsInner; +import com.microsoft.azure.arm.model.HasInner; + +/** + * Type representing ApplicationDefinitions. + */ +public interface ApplicationDefinitions extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, HasInner { + /** + * Gets the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable getByIdAsync(String applicationDefinitionId); + + /** + * Deletes the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Completable deleteByIdAsync(String applicationDefinitionId); + + /** + * Creates a new managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @param parameters Parameters supplied to the create or update a managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable createOrUpdateByIdAsync(String applicationDefinitionId, ApplicationDefinitionInner parameters); + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDeploymentPolicy.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDeploymentPolicy.java new file mode 100644 index 000000000000..f6f43de55ea8 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationDeploymentPolicy.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.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Managed application deployment policy. + */ +public class ApplicationDeploymentPolicy { + /** + * The managed application deployment mode. Possible values include: + * 'NotSpecified', 'Incremental', 'Complete'. + */ + @JsonProperty(value = "deploymentMode", required = true) + private DeploymentMode deploymentMode; + + /** + * Get the managed application deployment mode. Possible values include: 'NotSpecified', 'Incremental', 'Complete'. + * + * @return the deploymentMode value + */ + public DeploymentMode deploymentMode() { + return this.deploymentMode; + } + + /** + * Set the managed application deployment mode. Possible values include: 'NotSpecified', 'Incremental', 'Complete'. + * + * @param deploymentMode the deploymentMode value to set + * @return the ApplicationDeploymentPolicy object itself. + */ + public ApplicationDeploymentPolicy withDeploymentMode(DeploymentMode deploymentMode) { + this.deploymentMode = deploymentMode; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationJitAccessPolicy.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationJitAccessPolicy.java new file mode 100644 index 000000000000..50445508cd25 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationJitAccessPolicy.java @@ -0,0 +1,124 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Managed application Jit access policy. + */ +public class ApplicationJitAccessPolicy { + /** + * Whether the JIT access is enabled. + */ + @JsonProperty(value = "jitAccessEnabled", required = true) + private boolean jitAccessEnabled; + + /** + * JIT approval mode. Possible values include: 'NotSpecified', + * 'AutoApprove', 'ManualApprove'. + */ + @JsonProperty(value = "jitApprovalMode") + private JitApprovalMode jitApprovalMode; + + /** + * The JIT approvers. + */ + @JsonProperty(value = "jitApprovers") + private List jitApprovers; + + /** + * The maximum duration JIT access is granted. This is an ISO8601 time + * period value. + */ + @JsonProperty(value = "maximumJitAccessDuration") + private String maximumJitAccessDuration; + + /** + * Get whether the JIT access is enabled. + * + * @return the jitAccessEnabled value + */ + public boolean jitAccessEnabled() { + return this.jitAccessEnabled; + } + + /** + * Set whether the JIT access is enabled. + * + * @param jitAccessEnabled the jitAccessEnabled value to set + * @return the ApplicationJitAccessPolicy object itself. + */ + public ApplicationJitAccessPolicy withJitAccessEnabled(boolean jitAccessEnabled) { + this.jitAccessEnabled = jitAccessEnabled; + return this; + } + + /** + * Get jIT approval mode. Possible values include: 'NotSpecified', 'AutoApprove', 'ManualApprove'. + * + * @return the jitApprovalMode value + */ + public JitApprovalMode jitApprovalMode() { + return this.jitApprovalMode; + } + + /** + * Set jIT approval mode. Possible values include: 'NotSpecified', 'AutoApprove', 'ManualApprove'. + * + * @param jitApprovalMode the jitApprovalMode value to set + * @return the ApplicationJitAccessPolicy object itself. + */ + public ApplicationJitAccessPolicy withJitApprovalMode(JitApprovalMode jitApprovalMode) { + this.jitApprovalMode = jitApprovalMode; + return this; + } + + /** + * Get the JIT approvers. + * + * @return the jitApprovers value + */ + public List jitApprovers() { + return this.jitApprovers; + } + + /** + * Set the JIT approvers. + * + * @param jitApprovers the jitApprovers value to set + * @return the ApplicationJitAccessPolicy object itself. + */ + public ApplicationJitAccessPolicy withJitApprovers(List jitApprovers) { + this.jitApprovers = jitApprovers; + return this; + } + + /** + * Get the maximum duration JIT access is granted. This is an ISO8601 time period value. + * + * @return the maximumJitAccessDuration value + */ + public String maximumJitAccessDuration() { + return this.maximumJitAccessDuration; + } + + /** + * Set the maximum duration JIT access is granted. This is an ISO8601 time period value. + * + * @param maximumJitAccessDuration the maximumJitAccessDuration value to set + * @return the ApplicationJitAccessPolicy object itself. + */ + public ApplicationJitAccessPolicy withMaximumJitAccessDuration(String maximumJitAccessDuration) { + this.maximumJitAccessDuration = maximumJitAccessDuration; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationLockLevel.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationLockLevel.java new file mode 100644 index 000000000000..3cb6063a7803 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationLockLevel.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.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Defines values for ApplicationLockLevel. + */ +public enum ApplicationLockLevel { + /** Enum value CanNotDelete. */ + CAN_NOT_DELETE("CanNotDelete"), + + /** Enum value ReadOnly. */ + READ_ONLY("ReadOnly"), + + /** Enum value None. */ + NONE("None"); + + /** The actual serialized value for a ApplicationLockLevel instance. */ + private String value; + + ApplicationLockLevel(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a ApplicationLockLevel instance. + * + * @param value the serialized value to parse. + * @return the parsed ApplicationLockLevel object, or null if unable to parse. + */ + @JsonCreator + public static ApplicationLockLevel fromString(String value) { + ApplicationLockLevel[] items = ApplicationLockLevel.values(); + for (ApplicationLockLevel item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + @JsonValue + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationManagementMode.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationManagementMode.java new file mode 100644 index 000000000000..11caaf291a72 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationManagementMode.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.managedapplications.v2019_07_01; + +import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.microsoft.rest.ExpandableStringEnum; + +/** + * Defines values for ApplicationManagementMode. + */ +public final class ApplicationManagementMode extends ExpandableStringEnum { + /** Static value NotSpecified for ApplicationManagementMode. */ + public static final ApplicationManagementMode NOT_SPECIFIED = fromString("NotSpecified"); + + /** Static value Unmanaged for ApplicationManagementMode. */ + public static final ApplicationManagementMode UNMANAGED = fromString("Unmanaged"); + + /** Static value Managed for ApplicationManagementMode. */ + public static final ApplicationManagementMode MANAGED = fromString("Managed"); + + /** + * Creates or finds a ApplicationManagementMode from its string representation. + * @param name a name to look for + * @return the corresponding ApplicationManagementMode + */ + @JsonCreator + public static ApplicationManagementMode fromString(String name) { + return fromString(name, ApplicationManagementMode.class); + } + + /** + * @return known ApplicationManagementMode values + */ + public static Collection values() { + return values(ApplicationManagementMode.class); + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationManagementPolicy.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationManagementPolicy.java new file mode 100644 index 000000000000..2000e659306d --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationManagementPolicy.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.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Managed application management policy. + */ +public class ApplicationManagementPolicy { + /** + * The managed application management mode. Possible values include: + * 'NotSpecified', 'Unmanaged', 'Managed'. + */ + @JsonProperty(value = "mode") + private ApplicationManagementMode mode; + + /** + * Get the managed application management mode. Possible values include: 'NotSpecified', 'Unmanaged', 'Managed'. + * + * @return the mode value + */ + public ApplicationManagementMode mode() { + return this.mode; + } + + /** + * Set the managed application management mode. Possible values include: 'NotSpecified', 'Unmanaged', 'Managed'. + * + * @param mode the mode value to set + * @return the ApplicationManagementPolicy object itself. + */ + public ApplicationManagementPolicy withMode(ApplicationManagementMode mode) { + this.mode = mode; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationNotificationEndpoint.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationNotificationEndpoint.java new file mode 100644 index 000000000000..6565fb94f781 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationNotificationEndpoint.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.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Managed application notification endpoint. + */ +public class ApplicationNotificationEndpoint { + /** + * The managed application notification endpoint uri. + */ + @JsonProperty(value = "uri", required = true) + private String uri; + + /** + * Get the managed application notification endpoint uri. + * + * @return the uri value + */ + public String uri() { + return this.uri; + } + + /** + * Set the managed application notification endpoint uri. + * + * @param uri the uri value to set + * @return the ApplicationNotificationEndpoint object itself. + */ + public ApplicationNotificationEndpoint withUri(String uri) { + this.uri = uri; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationNotificationPolicy.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationNotificationPolicy.java new file mode 100644 index 000000000000..397eaeeb83c1 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationNotificationPolicy.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.managedapplications.v2019_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Managed application notification policy. + */ +public class ApplicationNotificationPolicy { + /** + * The managed application notification endpoint. + */ + @JsonProperty(value = "notificationEndpoints", required = true) + private List notificationEndpoints; + + /** + * Get the managed application notification endpoint. + * + * @return the notificationEndpoints value + */ + public List notificationEndpoints() { + return this.notificationEndpoints; + } + + /** + * Set the managed application notification endpoint. + * + * @param notificationEndpoints the notificationEndpoints value to set + * @return the ApplicationNotificationPolicy object itself. + */ + public ApplicationNotificationPolicy withNotificationEndpoints(List notificationEndpoints) { + this.notificationEndpoints = notificationEndpoints; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPackageContact.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPackageContact.java new file mode 100644 index 000000000000..9bee68d5e61f --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPackageContact.java @@ -0,0 +1,95 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The application package contact information. + */ +public class ApplicationPackageContact { + /** + * The contact name. + */ + @JsonProperty(value = "contactName") + private String contactName; + + /** + * The contact email. + */ + @JsonProperty(value = "email", required = true) + private String email; + + /** + * The contact phone number. + */ + @JsonProperty(value = "phone", required = true) + private String phone; + + /** + * Get the contact name. + * + * @return the contactName value + */ + public String contactName() { + return this.contactName; + } + + /** + * Set the contact name. + * + * @param contactName the contactName value to set + * @return the ApplicationPackageContact object itself. + */ + public ApplicationPackageContact withContactName(String contactName) { + this.contactName = contactName; + return this; + } + + /** + * Get the contact email. + * + * @return the email value + */ + public String email() { + return this.email; + } + + /** + * Set the contact email. + * + * @param email the email value to set + * @return the ApplicationPackageContact object itself. + */ + public ApplicationPackageContact withEmail(String email) { + this.email = email; + return this; + } + + /** + * Get the contact phone number. + * + * @return the phone value + */ + public String phone() { + return this.phone; + } + + /** + * Set the contact phone number. + * + * @param phone the phone value to set + * @return the ApplicationPackageContact object itself. + */ + public ApplicationPackageContact withPhone(String phone) { + this.phone = phone; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPackageLockingPolicyDefinition.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPackageLockingPolicyDefinition.java new file mode 100644 index 000000000000..a8e04bb48165 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPackageLockingPolicyDefinition.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.managedapplications.v2019_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Managed application locking policy. + */ +public class ApplicationPackageLockingPolicyDefinition { + /** + * The deny assignment excluded actions. + */ + @JsonProperty(value = "allowedActions") + private List allowedActions; + + /** + * Get the deny assignment excluded actions. + * + * @return the allowedActions value + */ + public List allowedActions() { + return this.allowedActions; + } + + /** + * Set the deny assignment excluded actions. + * + * @param allowedActions the allowedActions value to set + * @return the ApplicationPackageLockingPolicyDefinition object itself. + */ + public ApplicationPackageLockingPolicyDefinition withAllowedActions(List allowedActions) { + this.allowedActions = allowedActions; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPackageSupportUrls.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPackageSupportUrls.java new file mode 100644 index 000000000000..68ea2ec99145 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPackageSupportUrls.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.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The appliance package support URLs. + */ +public class ApplicationPackageSupportUrls { + /** + * The public azure support URL. + */ + @JsonProperty(value = "publicAzure") + private String publicAzure; + + /** + * The government cloud support URL. + */ + @JsonProperty(value = "governmentCloud") + private String governmentCloud; + + /** + * Get the public azure support URL. + * + * @return the publicAzure value + */ + public String publicAzure() { + return this.publicAzure; + } + + /** + * Set the public azure support URL. + * + * @param publicAzure the publicAzure value to set + * @return the ApplicationPackageSupportUrls object itself. + */ + public ApplicationPackageSupportUrls withPublicAzure(String publicAzure) { + this.publicAzure = publicAzure; + return this; + } + + /** + * Get the government cloud support URL. + * + * @return the governmentCloud value + */ + public String governmentCloud() { + return this.governmentCloud; + } + + /** + * Set the government cloud support URL. + * + * @param governmentCloud the governmentCloud value to set + * @return the ApplicationPackageSupportUrls object itself. + */ + public ApplicationPackageSupportUrls withGovernmentCloud(String governmentCloud) { + this.governmentCloud = governmentCloud; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPatchable.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPatchable.java new file mode 100644 index 000000000000..bf7ac055caff --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPatchable.java @@ -0,0 +1,209 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.microsoft.rest.serializer.JsonFlatten; + +/** + * Information about managed application. + */ +@JsonFlatten +public class ApplicationPatchable extends GenericResource { + /** + * The managed resource group Id. + */ + @JsonProperty(value = "properties.managedResourceGroupId") + private String managedResourceGroupId; + + /** + * The fully qualified path of managed application definition Id. + */ + @JsonProperty(value = "properties.applicationDefinitionId") + private String applicationDefinitionId; + + /** + * Name and value pairs that define the managed application parameters. It + * can be a JObject or a well formed JSON string. + */ + @JsonProperty(value = "properties.parameters") + private Object parameters; + + /** + * Name and value pairs that define the managed application outputs. + */ + @JsonProperty(value = "properties.outputs", access = JsonProperty.Access.WRITE_ONLY) + private Object outputs; + + /** + * The managed application provisioning state. Possible values include: + * 'NotSpecified', 'Accepted', 'Running', 'Ready', 'Creating', 'Created', + * 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating'. + */ + @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY) + private ProvisioningState provisioningState; + + /** + * The plan information. + */ + @JsonProperty(value = "plan") + private PlanPatchable plan; + + /** + * The kind of the managed application. Allowed values are MarketPlace and + * ServiceCatalog. + */ + @JsonProperty(value = "kind") + private String kind; + + /** + * The identity of the resource. + */ + @JsonProperty(value = "identity") + private Identity identity; + + /** + * Get the managed resource group Id. + * + * @return the managedResourceGroupId value + */ + public String managedResourceGroupId() { + return this.managedResourceGroupId; + } + + /** + * Set the managed resource group Id. + * + * @param managedResourceGroupId the managedResourceGroupId value to set + * @return the ApplicationPatchable object itself. + */ + public ApplicationPatchable withManagedResourceGroupId(String managedResourceGroupId) { + this.managedResourceGroupId = managedResourceGroupId; + return this; + } + + /** + * Get the fully qualified path of managed application definition Id. + * + * @return the applicationDefinitionId value + */ + public String applicationDefinitionId() { + return this.applicationDefinitionId; + } + + /** + * Set the fully qualified path of managed application definition Id. + * + * @param applicationDefinitionId the applicationDefinitionId value to set + * @return the ApplicationPatchable object itself. + */ + public ApplicationPatchable withApplicationDefinitionId(String applicationDefinitionId) { + this.applicationDefinitionId = applicationDefinitionId; + return this; + } + + /** + * Get name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string. + * + * @return the parameters value + */ + public Object parameters() { + return this.parameters; + } + + /** + * Set name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string. + * + * @param parameters the parameters value to set + * @return the ApplicationPatchable object itself. + */ + public ApplicationPatchable withParameters(Object parameters) { + this.parameters = parameters; + return this; + } + + /** + * Get name and value pairs that define the managed application outputs. + * + * @return the outputs value + */ + public Object outputs() { + return this.outputs; + } + + /** + * Get the managed application provisioning state. Possible values include: 'NotSpecified', 'Accepted', 'Running', 'Ready', 'Creating', 'Created', 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating'. + * + * @return the provisioningState value + */ + public ProvisioningState provisioningState() { + return this.provisioningState; + } + + /** + * Get the plan information. + * + * @return the plan value + */ + public PlanPatchable plan() { + return this.plan; + } + + /** + * Set the plan information. + * + * @param plan the plan value to set + * @return the ApplicationPatchable object itself. + */ + public ApplicationPatchable withPlan(PlanPatchable plan) { + this.plan = plan; + return this; + } + + /** + * Get the kind of the managed application. Allowed values are MarketPlace and ServiceCatalog. + * + * @return the kind value + */ + public String kind() { + return this.kind; + } + + /** + * Set the kind of the managed application. Allowed values are MarketPlace and ServiceCatalog. + * + * @param kind the kind value to set + * @return the ApplicationPatchable object itself. + */ + public ApplicationPatchable withKind(String kind) { + this.kind = kind; + return this; + } + + /** + * Get the identity of the resource. + * + * @return the identity value + */ + public Identity identity() { + return this.identity; + } + + /** + * Set the identity of the resource. + * + * @param identity the identity value to set + * @return the ApplicationPatchable object itself. + */ + public ApplicationPatchable withIdentity(Identity identity) { + this.identity = identity; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPolicy.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPolicy.java new file mode 100644 index 000000000000..027ce9bfa341 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ApplicationPolicy.java @@ -0,0 +1,95 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Managed application policy. + */ +public class ApplicationPolicy { + /** + * The policy name. + */ + @JsonProperty(value = "name") + private String name; + + /** + * The policy definition Id. + */ + @JsonProperty(value = "policyDefinitionId") + private String policyDefinitionId; + + /** + * The policy parameters. + */ + @JsonProperty(value = "parameters") + private String parameters; + + /** + * Get the policy name. + * + * @return the name value + */ + public String name() { + return this.name; + } + + /** + * Set the policy name. + * + * @param name the name value to set + * @return the ApplicationPolicy object itself. + */ + public ApplicationPolicy withName(String name) { + this.name = name; + return this; + } + + /** + * Get the policy definition Id. + * + * @return the policyDefinitionId value + */ + public String policyDefinitionId() { + return this.policyDefinitionId; + } + + /** + * Set the policy definition Id. + * + * @param policyDefinitionId the policyDefinitionId value to set + * @return the ApplicationPolicy object itself. + */ + public ApplicationPolicy withPolicyDefinitionId(String policyDefinitionId) { + this.policyDefinitionId = policyDefinitionId; + return this; + } + + /** + * Get the policy parameters. + * + * @return the parameters value + */ + public String parameters() { + return this.parameters; + } + + /** + * Set the policy parameters. + * + * @param parameters the parameters value to set + * @return the ApplicationPolicy object itself. + */ + public ApplicationPolicy withParameters(String parameters) { + this.parameters = parameters; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Applications.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Applications.java new file mode 100644 index 000000000000..04b86e564b10 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Applications.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.managedapplications.v2019_07_01; + +import com.microsoft.azure.arm.collection.SupportsCreating; +import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup; +import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion; +import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup; +import rx.Observable; +import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup; +import com.microsoft.azure.arm.collection.SupportsListing; +import rx.Completable; +import com.microsoft.azure.management.managedapplications.v2019_07_01.implementation.ApplicationInner; +import com.microsoft.azure.management.managedapplications.v2019_07_01.implementation.ApplicationsInner; +import com.microsoft.azure.arm.model.HasInner; + +/** + * Type representing Applications. + */ +public interface Applications extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner { + /** + * Gets the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable getByIdAsync(String applicationId); + + /** + * Deletes the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Completable deleteByIdAsync(String applicationId); + + /** + * Creates a new managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @param parameters Parameters supplied to the create or update a managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable createOrUpdateByIdAsync(String applicationId, ApplicationInner parameters); + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable updateByIdAsync(String applicationId); + + /** + * Refresh Permissions for application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Completable refreshPermissionsAsync(String resourceGroupName, String applicationName); + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/DeploymentMode.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/DeploymentMode.java new file mode 100644 index 000000000000..4dda9c5cf905 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/DeploymentMode.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.managedapplications.v2019_07_01; + +import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.microsoft.rest.ExpandableStringEnum; + +/** + * Defines values for DeploymentMode. + */ +public final class DeploymentMode extends ExpandableStringEnum { + /** Static value NotSpecified for DeploymentMode. */ + public static final DeploymentMode NOT_SPECIFIED = fromString("NotSpecified"); + + /** Static value Incremental for DeploymentMode. */ + public static final DeploymentMode INCREMENTAL = fromString("Incremental"); + + /** Static value Complete for DeploymentMode. */ + public static final DeploymentMode COMPLETE = fromString("Complete"); + + /** + * Creates or finds a DeploymentMode from its string representation. + * @param name a name to look for + * @return the corresponding DeploymentMode + */ + @JsonCreator + public static DeploymentMode fromString(String name) { + return fromString(name, DeploymentMode.class); + } + + /** + * @return known DeploymentMode values + */ + public static Collection values() { + return values(DeploymentMode.class); + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ErrorResponse.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ErrorResponse.java new file mode 100644 index 000000000000..960f100db0d8 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ErrorResponse.java @@ -0,0 +1,96 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Error response indicates managed application is not able to process the + * incoming request. The reason is provided in the error message. + */ +public class ErrorResponse { + /** + * Http status code. + */ + @JsonProperty(value = "httpStatus") + private String httpStatus; + + /** + * Error code. + */ + @JsonProperty(value = "errorCode") + private String errorCode; + + /** + * Error message indicating why the operation failed. + */ + @JsonProperty(value = "errorMessage") + private String errorMessage; + + /** + * Get http status code. + * + * @return the httpStatus value + */ + public String httpStatus() { + return this.httpStatus; + } + + /** + * Set http status code. + * + * @param httpStatus the httpStatus value to set + * @return the ErrorResponse object itself. + */ + public ErrorResponse withHttpStatus(String httpStatus) { + this.httpStatus = httpStatus; + return this; + } + + /** + * Get error code. + * + * @return the errorCode value + */ + public String errorCode() { + return this.errorCode; + } + + /** + * Set error code. + * + * @param errorCode the errorCode value to set + * @return the ErrorResponse object itself. + */ + public ErrorResponse withErrorCode(String errorCode) { + this.errorCode = errorCode; + return this; + } + + /** + * Get error message indicating why the operation failed. + * + * @return the errorMessage value + */ + public String errorMessage() { + return this.errorMessage; + } + + /** + * Set error message indicating why the operation failed. + * + * @param errorMessage the errorMessage value to set + * @return the ErrorResponse object itself. + */ + public ErrorResponse withErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ErrorResponseException.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ErrorResponseException.java new file mode 100644 index 000000000000..967a3625f82a --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ErrorResponseException.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.managedapplications.v2019_07_01; + +import com.microsoft.rest.RestException; +import okhttp3.ResponseBody; +import retrofit2.Response; + +/** + * Exception thrown for an invalid response with ErrorResponse information. + */ +public class ErrorResponseException extends RestException { + /** + * Initializes a new instance of the ErrorResponseException class. + * + * @param message the exception message or the response content if a message is not available + * @param response the HTTP response + */ + public ErrorResponseException(final String message, final Response response) { + super(message, response); + } + + /** + * Initializes a new instance of the ErrorResponseException class. + * + * @param message the exception message or the response content if a message is not available + * @param response the HTTP response + * @param body the deserialized response body + */ + public ErrorResponseException(final String message, final Response response, final ErrorResponse body) { + super(message, response, body); + } + + @Override + public ErrorResponse body() { + return (ErrorResponse) super.body(); + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/GenericResource.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/GenericResource.java new file mode 100644 index 000000000000..6a2e9bd31e63 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/GenericResource.java @@ -0,0 +1,72 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.microsoft.rest.SkipParentValidation; +import com.microsoft.azure.Resource; + +/** + * Resource information. + */ +@SkipParentValidation +public class GenericResource extends Resource { + /** + * ID of the resource that manages this resource. + */ + @JsonProperty(value = "managedBy") + private String managedBy; + + /** + * The SKU of the resource. + */ + @JsonProperty(value = "sku") + private Sku sku; + + /** + * Get iD of the resource that manages this resource. + * + * @return the managedBy value + */ + public String managedBy() { + return this.managedBy; + } + + /** + * Set iD of the resource that manages this resource. + * + * @param managedBy the managedBy value to set + * @return the GenericResource object itself. + */ + public GenericResource withManagedBy(String managedBy) { + this.managedBy = managedBy; + return this; + } + + /** + * Get the SKU of the resource. + * + * @return the sku value + */ + public Sku sku() { + return this.sku; + } + + /** + * Set the SKU of the resource. + * + * @param sku the sku value to set + * @return the GenericResource object itself. + */ + public GenericResource withSku(Sku sku) { + this.sku = sku; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Identity.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Identity.java new file mode 100644 index 000000000000..1a529de7b4a1 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Identity.java @@ -0,0 +1,73 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Identity for the resource. + */ +public class Identity { + /** + * The principal ID of resource identity. + */ + @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY) + private String principalId; + + /** + * The tenant ID of resource. + */ + @JsonProperty(value = "tenantId", access = JsonProperty.Access.WRITE_ONLY) + private String tenantId; + + /** + * The identity type. Possible values include: 'SystemAssigned'. + */ + @JsonProperty(value = "type") + private ResourceIdentityType type; + + /** + * Get the principal ID of resource identity. + * + * @return the principalId value + */ + public String principalId() { + return this.principalId; + } + + /** + * Get the tenant ID of resource. + * + * @return the tenantId value + */ + public String tenantId() { + return this.tenantId; + } + + /** + * Get the identity type. Possible values include: 'SystemAssigned'. + * + * @return the type value + */ + public ResourceIdentityType type() { + return this.type; + } + + /** + * Set the identity type. Possible values include: 'SystemAssigned'. + * + * @param type the type value to set + * @return the Identity object itself. + */ + public Identity withType(ResourceIdentityType type) { + this.type = type; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitApprovalMode.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitApprovalMode.java new file mode 100644 index 000000000000..f52d61925e2b --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitApprovalMode.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.managedapplications.v2019_07_01; + +import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.microsoft.rest.ExpandableStringEnum; + +/** + * Defines values for JitApprovalMode. + */ +public final class JitApprovalMode extends ExpandableStringEnum { + /** Static value NotSpecified for JitApprovalMode. */ + public static final JitApprovalMode NOT_SPECIFIED = fromString("NotSpecified"); + + /** Static value AutoApprove for JitApprovalMode. */ + public static final JitApprovalMode AUTO_APPROVE = fromString("AutoApprove"); + + /** Static value ManualApprove for JitApprovalMode. */ + public static final JitApprovalMode MANUAL_APPROVE = fromString("ManualApprove"); + + /** + * Creates or finds a JitApprovalMode from its string representation. + * @param name a name to look for + * @return the corresponding JitApprovalMode + */ + @JsonCreator + public static JitApprovalMode fromString(String name) { + return fromString(name, JitApprovalMode.class); + } + + /** + * @return known JitApprovalMode values + */ + public static Collection values() { + return values(JitApprovalMode.class); + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitApproverDefinition.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitApproverDefinition.java new file mode 100644 index 000000000000..ea377a32861c --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitApproverDefinition.java @@ -0,0 +1,95 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * JIT approver definition. + */ +public class JitApproverDefinition { + /** + * The approver service principal Id. + */ + @JsonProperty(value = "id", required = true) + private String id; + + /** + * The approver type. Possible values include: 'user', 'group'. + */ + @JsonProperty(value = "type") + private JitApproverType type; + + /** + * The approver display name. + */ + @JsonProperty(value = "displayName") + private String displayName; + + /** + * Get the approver service principal Id. + * + * @return the id value + */ + public String id() { + return this.id; + } + + /** + * Set the approver service principal Id. + * + * @param id the id value to set + * @return the JitApproverDefinition object itself. + */ + public JitApproverDefinition withId(String id) { + this.id = id; + return this; + } + + /** + * Get the approver type. Possible values include: 'user', 'group'. + * + * @return the type value + */ + public JitApproverType type() { + return this.type; + } + + /** + * Set the approver type. Possible values include: 'user', 'group'. + * + * @param type the type value to set + * @return the JitApproverDefinition object itself. + */ + public JitApproverDefinition withType(JitApproverType type) { + this.type = type; + return this; + } + + /** + * Get the approver display name. + * + * @return the displayName value + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the approver display name. + * + * @param displayName the displayName value to set + * @return the JitApproverDefinition object itself. + */ + public JitApproverDefinition withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitApproverType.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitApproverType.java new file mode 100644 index 000000000000..5ded3ff1cbdd --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitApproverType.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.managedapplications.v2019_07_01; + +import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.microsoft.rest.ExpandableStringEnum; + +/** + * Defines values for JitApproverType. + */ +public final class JitApproverType extends ExpandableStringEnum { + /** Static value user for JitApproverType. */ + public static final JitApproverType USER = fromString("user"); + + /** Static value group for JitApproverType. */ + public static final JitApproverType GROUP = fromString("group"); + + /** + * Creates or finds a JitApproverType from its string representation. + * @param name a name to look for + * @return the corresponding JitApproverType + */ + @JsonCreator + public static JitApproverType fromString(String name) { + return fromString(name, JitApproverType.class); + } + + /** + * @return known JitApproverType values + */ + public static Collection values() { + return values(JitApproverType.class); + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitAuthorizationPolicies.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitAuthorizationPolicies.java new file mode 100644 index 000000000000..4c154eef6ae7 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitAuthorizationPolicies.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.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The JIT authorization policies. + */ +public class JitAuthorizationPolicies { + /** + * The the principal id that will be granted JIT access. + */ + @JsonProperty(value = "principalId", required = true) + private String principalId; + + /** + * The role definition id that will be granted to the Principal. + */ + @JsonProperty(value = "roleDefinitionId", required = true) + private String roleDefinitionId; + + /** + * Get the the principal id that will be granted JIT access. + * + * @return the principalId value + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the the principal id that will be granted JIT access. + * + * @param principalId the principalId value to set + * @return the JitAuthorizationPolicies object itself. + */ + public JitAuthorizationPolicies withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the role definition id that will be granted to the Principal. + * + * @return the roleDefinitionId value + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the role definition id that will be granted to the Principal. + * + * @param roleDefinitionId the roleDefinitionId value to set + * @return the JitAuthorizationPolicies object itself. + */ + public JitAuthorizationPolicies withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitRequestDefinition.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitRequestDefinition.java new file mode 100644 index 000000000000..ba59cf72ebbc --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitRequestDefinition.java @@ -0,0 +1,145 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.microsoft.azure.arm.model.HasInner; +import com.microsoft.azure.arm.resources.models.Resource; +import com.microsoft.azure.arm.resources.models.GroupableResourceCore; +import com.microsoft.azure.arm.resources.models.HasResourceGroup; +import com.microsoft.azure.arm.model.Refreshable; +import com.microsoft.azure.arm.model.Updatable; +import com.microsoft.azure.arm.model.Appliable; +import com.microsoft.azure.arm.model.Creatable; +import com.microsoft.azure.arm.resources.models.HasManager; +import com.microsoft.azure.management.managedapplications.v2019_07_01.implementation.ManagedApplicationsManager; +import java.util.List; +import com.microsoft.azure.management.managedapplications.v2019_07_01.implementation.JitRequestDefinitionInner; + +/** + * Type representing JitRequestDefinition. + */ +public interface JitRequestDefinition extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager { + /** + * @return the applicationResourceId value. + */ + String applicationResourceId(); + + /** + * @return the createdBy value. + */ + ApplicationClientDetails createdBy(); + + /** + * @return the jitAuthorizationPolicies value. + */ + List jitAuthorizationPolicies(); + + /** + * @return the jitRequestState value. + */ + JitRequestState jitRequestState(); + + /** + * @return the jitSchedulingPolicy value. + */ + JitSchedulingPolicy jitSchedulingPolicy(); + + /** + * @return the provisioningState value. + */ + ProvisioningState provisioningState(); + + /** + * @return the publisherTenantId value. + */ + String publisherTenantId(); + + /** + * @return the updatedBy value. + */ + ApplicationClientDetails updatedBy(); + + /** + * The entirety of the JitRequestDefinition definition. + */ + interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithApplicationResourceId, DefinitionStages.WithJitAuthorizationPolicies, DefinitionStages.WithJitSchedulingPolicy, DefinitionStages.WithCreate { + } + + /** + * Grouping of JitRequestDefinition definition stages. + */ + interface DefinitionStages { + /** + * The first stage of a JitRequestDefinition definition. + */ + interface Blank extends GroupableResourceCore.DefinitionWithRegion { + } + + /** + * The stage of the JitRequestDefinition definition allowing to specify the resource group. + */ + interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup { + } + + /** + * The stage of the jitrequestdefinition definition allowing to specify ApplicationResourceId. + */ + interface WithApplicationResourceId { + /** + * Specifies applicationResourceId. + * @param applicationResourceId The parent application id + * @return the next definition stage +*/ + WithJitAuthorizationPolicies withApplicationResourceId(String applicationResourceId); + } + + /** + * The stage of the jitrequestdefinition definition allowing to specify JitAuthorizationPolicies. + */ + interface WithJitAuthorizationPolicies { + /** + * Specifies jitAuthorizationPolicies. + * @param jitAuthorizationPolicies The JIT authorization policies + * @return the next definition stage +*/ + WithJitSchedulingPolicy withJitAuthorizationPolicies(List jitAuthorizationPolicies); + } + + /** + * The stage of the jitrequestdefinition definition allowing to specify JitSchedulingPolicy. + */ + interface WithJitSchedulingPolicy { + /** + * Specifies jitSchedulingPolicy. + * @param jitSchedulingPolicy The JIT request properties + * @return the next definition stage +*/ + WithCreate withJitSchedulingPolicy(JitSchedulingPolicy jitSchedulingPolicy); + } + + /** + * 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 { + } + } + /** + * The template for a JitRequestDefinition update operation, containing all the settings that can be modified. + */ + interface Update extends Appliable, Resource.UpdateWithTags { + } + + /** + * Grouping of JitRequestDefinition update stages. + */ + interface UpdateStages { + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitRequestPatchable.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitRequestPatchable.java new file mode 100644 index 000000000000..413556b5e39f --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitRequestPatchable.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.managedapplications.v2019_07_01; + +import java.util.Map; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Information about JIT request. + */ +public class JitRequestPatchable { + /** + * Jit request tags. + */ + @JsonProperty(value = "tags") + private Map tags; + + /** + * Get jit request tags. + * + * @return the tags value + */ + public Map tags() { + return this.tags; + } + + /** + * Set jit request tags. + * + * @param tags the tags value to set + * @return the JitRequestPatchable object itself. + */ + public JitRequestPatchable withTags(Map tags) { + this.tags = tags; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitRequestState.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitRequestState.java new file mode 100644 index 000000000000..47e71c8d0416 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitRequestState.java @@ -0,0 +1,59 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.microsoft.rest.ExpandableStringEnum; + +/** + * Defines values for JitRequestState. + */ +public final class JitRequestState extends ExpandableStringEnum { + /** Static value NotSpecified for JitRequestState. */ + public static final JitRequestState NOT_SPECIFIED = fromString("NotSpecified"); + + /** Static value Pending for JitRequestState. */ + public static final JitRequestState PENDING = fromString("Pending"); + + /** Static value Approved for JitRequestState. */ + public static final JitRequestState APPROVED = fromString("Approved"); + + /** Static value Denied for JitRequestState. */ + public static final JitRequestState DENIED = fromString("Denied"); + + /** Static value Failed for JitRequestState. */ + public static final JitRequestState FAILED = fromString("Failed"); + + /** Static value Canceled for JitRequestState. */ + public static final JitRequestState CANCELED = fromString("Canceled"); + + /** Static value Expired for JitRequestState. */ + public static final JitRequestState EXPIRED = fromString("Expired"); + + /** Static value Timeout for JitRequestState. */ + public static final JitRequestState TIMEOUT = fromString("Timeout"); + + /** + * Creates or finds a JitRequestState from its string representation. + * @param name a name to look for + * @return the corresponding JitRequestState + */ + @JsonCreator + public static JitRequestState fromString(String name) { + return fromString(name, JitRequestState.class); + } + + /** + * @return known JitRequestState values + */ + public static Collection values() { + return values(JitRequestState.class); + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitRequests.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitRequests.java new file mode 100644 index 000000000000..c06acc58f20c --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitRequests.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.managedapplications.v2019_07_01; + +import com.microsoft.azure.arm.collection.SupportsCreating; +import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup; +import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion; +import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup; +import rx.Observable; +import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup; +import com.microsoft.azure.arm.collection.SupportsListing; +import com.microsoft.azure.management.managedapplications.v2019_07_01.implementation.JitRequestsInner; +import com.microsoft.azure.arm.model.HasInner; + +/** + * Type representing JitRequests. + */ +public interface JitRequests extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner { +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitSchedulingPolicy.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitSchedulingPolicy.java new file mode 100644 index 000000000000..05cad72b6a86 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitSchedulingPolicy.java @@ -0,0 +1,98 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import org.joda.time.Period; +import org.joda.time.DateTime; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The JIT scheduling policies. + */ +public class JitSchedulingPolicy { + /** + * The type of JIT schedule. Possible values include: 'NotSpecified', + * 'Once', 'Recurring'. + */ + @JsonProperty(value = "type", required = true) + private JitSchedulingType type; + + /** + * The required duration of the JIT request. + */ + @JsonProperty(value = "duration", required = true) + private Period duration; + + /** + * The start time of the request. + */ + @JsonProperty(value = "startTime", required = true) + private DateTime startTime; + + /** + * Get the type of JIT schedule. Possible values include: 'NotSpecified', 'Once', 'Recurring'. + * + * @return the type value + */ + public JitSchedulingType type() { + return this.type; + } + + /** + * Set the type of JIT schedule. Possible values include: 'NotSpecified', 'Once', 'Recurring'. + * + * @param type the type value to set + * @return the JitSchedulingPolicy object itself. + */ + public JitSchedulingPolicy withType(JitSchedulingType type) { + this.type = type; + return this; + } + + /** + * Get the duration value. + * + * @return the duration value + */ + public Period duration() { + return this.duration; + } + + /** + * Set the duration value. + * + * @param duration the duration value to set + * @return the JitSchedulingPolicy object itself. + */ + public JitSchedulingPolicy withDuration(Period duration) { + this.duration = duration; + return this; + } + + /** + * Get the start time of the request. + * + * @return the startTime value + */ + public DateTime startTime() { + return this.startTime; + } + + /** + * Set the start time of the request. + * + * @param startTime the startTime value to set + * @return the JitSchedulingPolicy object itself. + */ + public JitSchedulingPolicy withStartTime(DateTime startTime) { + this.startTime = startTime; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitSchedulingType.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitSchedulingType.java new file mode 100644 index 000000000000..d4d4ea8219dc --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/JitSchedulingType.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.managedapplications.v2019_07_01; + +import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.microsoft.rest.ExpandableStringEnum; + +/** + * Defines values for JitSchedulingType. + */ +public final class JitSchedulingType extends ExpandableStringEnum { + /** Static value NotSpecified for JitSchedulingType. */ + public static final JitSchedulingType NOT_SPECIFIED = fromString("NotSpecified"); + + /** Static value Once for JitSchedulingType. */ + public static final JitSchedulingType ONCE = fromString("Once"); + + /** Static value Recurring for JitSchedulingType. */ + public static final JitSchedulingType RECURRING = fromString("Recurring"); + + /** + * Creates or finds a JitSchedulingType from its string representation. + * @param name a name to look for + * @return the corresponding JitSchedulingType + */ + @JsonCreator + public static JitSchedulingType fromString(String name) { + return fromString(name, JitSchedulingType.class); + } + + /** + * @return known JitSchedulingType values + */ + public static Collection values() { + return values(JitSchedulingType.class); + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/OperationDisplay.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/OperationDisplay.java new file mode 100644 index 000000000000..6dd34a985ff9 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/OperationDisplay.java @@ -0,0 +1,96 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The object that represents the operation. + */ +public class OperationDisplay { + /** + * Service provider: Microsoft.Solutions. + */ + @JsonProperty(value = "provider") + private String provider; + + /** + * Resource on which the operation is performed: Application, JitRequest, + * etc. + */ + @JsonProperty(value = "resource") + private String resource; + + /** + * Operation type: Read, write, delete, etc. + */ + @JsonProperty(value = "operation") + private String operation; + + /** + * Get service provider: Microsoft.Solutions. + * + * @return the provider value + */ + public String provider() { + return this.provider; + } + + /** + * Set service provider: Microsoft.Solutions. + * + * @param provider the provider value to set + * @return the OperationDisplay object itself. + */ + public OperationDisplay withProvider(String provider) { + this.provider = provider; + return this; + } + + /** + * Get resource on which the operation is performed: Application, JitRequest, etc. + * + * @return the resource value + */ + public String resource() { + return this.resource; + } + + /** + * Set resource on which the operation is performed: Application, JitRequest, etc. + * + * @param resource the resource value to set + * @return the OperationDisplay object itself. + */ + public OperationDisplay withResource(String resource) { + this.resource = resource; + return this; + } + + /** + * Get operation type: Read, write, delete, etc. + * + * @return the operation value + */ + public String operation() { + return this.operation; + } + + /** + * Set operation type: Read, write, delete, etc. + * + * @param operation the operation value to set + * @return the OperationDisplay object itself. + */ + public OperationDisplay withOperation(String operation) { + this.operation = operation; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Plan.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Plan.java new file mode 100644 index 000000000000..193b277f3be2 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Plan.java @@ -0,0 +1,147 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Plan for the managed application. + */ +public class Plan { + /** + * The plan name. + */ + @JsonProperty(value = "name", required = true) + private String name; + + /** + * The publisher ID. + */ + @JsonProperty(value = "publisher", required = true) + private String publisher; + + /** + * The product code. + */ + @JsonProperty(value = "product", required = true) + private String product; + + /** + * The promotion code. + */ + @JsonProperty(value = "promotionCode") + private String promotionCode; + + /** + * The plan's version. + */ + @JsonProperty(value = "version", required = true) + private String version; + + /** + * Get the plan name. + * + * @return the name value + */ + public String name() { + return this.name; + } + + /** + * Set the plan name. + * + * @param name the name value to set + * @return the Plan object itself. + */ + public Plan withName(String name) { + this.name = name; + return this; + } + + /** + * Get the publisher ID. + * + * @return the publisher value + */ + public String publisher() { + return this.publisher; + } + + /** + * Set the publisher ID. + * + * @param publisher the publisher value to set + * @return the Plan object itself. + */ + public Plan withPublisher(String publisher) { + this.publisher = publisher; + return this; + } + + /** + * Get the product code. + * + * @return the product value + */ + public String product() { + return this.product; + } + + /** + * Set the product code. + * + * @param product the product value to set + * @return the Plan object itself. + */ + public Plan withProduct(String product) { + this.product = product; + return this; + } + + /** + * Get the promotion code. + * + * @return the promotionCode value + */ + public String promotionCode() { + return this.promotionCode; + } + + /** + * Set the promotion code. + * + * @param promotionCode the promotionCode value to set + * @return the Plan object itself. + */ + public Plan withPromotionCode(String promotionCode) { + this.promotionCode = promotionCode; + return this; + } + + /** + * Get the plan's version. + * + * @return the version value + */ + public String version() { + return this.version; + } + + /** + * Set the plan's version. + * + * @param version the version value to set + * @return the Plan object itself. + */ + public Plan withVersion(String version) { + this.version = version; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/PlanPatchable.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/PlanPatchable.java new file mode 100644 index 000000000000..defa127cedc3 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/PlanPatchable.java @@ -0,0 +1,147 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Plan for the managed application. + */ +public class PlanPatchable { + /** + * The plan name. + */ + @JsonProperty(value = "name") + private String name; + + /** + * The publisher ID. + */ + @JsonProperty(value = "publisher") + private String publisher; + + /** + * The product code. + */ + @JsonProperty(value = "product") + private String product; + + /** + * The promotion code. + */ + @JsonProperty(value = "promotionCode") + private String promotionCode; + + /** + * The plan's version. + */ + @JsonProperty(value = "version") + private String version; + + /** + * Get the plan name. + * + * @return the name value + */ + public String name() { + return this.name; + } + + /** + * Set the plan name. + * + * @param name the name value to set + * @return the PlanPatchable object itself. + */ + public PlanPatchable withName(String name) { + this.name = name; + return this; + } + + /** + * Get the publisher ID. + * + * @return the publisher value + */ + public String publisher() { + return this.publisher; + } + + /** + * Set the publisher ID. + * + * @param publisher the publisher value to set + * @return the PlanPatchable object itself. + */ + public PlanPatchable withPublisher(String publisher) { + this.publisher = publisher; + return this; + } + + /** + * Get the product code. + * + * @return the product value + */ + public String product() { + return this.product; + } + + /** + * Set the product code. + * + * @param product the product value to set + * @return the PlanPatchable object itself. + */ + public PlanPatchable withProduct(String product) { + this.product = product; + return this; + } + + /** + * Get the promotion code. + * + * @return the promotionCode value + */ + public String promotionCode() { + return this.promotionCode; + } + + /** + * Set the promotion code. + * + * @param promotionCode the promotionCode value to set + * @return the PlanPatchable object itself. + */ + public PlanPatchable withPromotionCode(String promotionCode) { + this.promotionCode = promotionCode; + return this; + } + + /** + * Get the plan's version. + * + * @return the version value + */ + public String version() { + return this.version; + } + + /** + * Set the plan's version. + * + * @param version the version value to set + * @return the PlanPatchable object itself. + */ + public PlanPatchable withVersion(String version) { + this.version = version; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ProvisioningState.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ProvisioningState.java new file mode 100644 index 000000000000..6d24b0778e47 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ProvisioningState.java @@ -0,0 +1,71 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.microsoft.rest.ExpandableStringEnum; + +/** + * Defines values for ProvisioningState. + */ +public final class ProvisioningState extends ExpandableStringEnum { + /** Static value NotSpecified for ProvisioningState. */ + public static final ProvisioningState NOT_SPECIFIED = fromString("NotSpecified"); + + /** Static value Accepted for ProvisioningState. */ + public static final ProvisioningState ACCEPTED = fromString("Accepted"); + + /** Static value Running for ProvisioningState. */ + public static final ProvisioningState RUNNING = fromString("Running"); + + /** Static value Ready for ProvisioningState. */ + public static final ProvisioningState READY = fromString("Ready"); + + /** Static value Creating for ProvisioningState. */ + public static final ProvisioningState CREATING = fromString("Creating"); + + /** Static value Created for ProvisioningState. */ + public static final ProvisioningState CREATED = fromString("Created"); + + /** Static value Deleting for ProvisioningState. */ + public static final ProvisioningState DELETING = fromString("Deleting"); + + /** Static value Deleted for ProvisioningState. */ + public static final ProvisioningState DELETED = fromString("Deleted"); + + /** Static value Canceled for ProvisioningState. */ + public static final ProvisioningState CANCELED = fromString("Canceled"); + + /** Static value Failed for ProvisioningState. */ + public static final ProvisioningState FAILED = fromString("Failed"); + + /** Static value Succeeded for ProvisioningState. */ + public static final ProvisioningState SUCCEEDED = fromString("Succeeded"); + + /** Static value Updating for ProvisioningState. */ + public static final ProvisioningState UPDATING = fromString("Updating"); + + /** + * Creates or finds a ProvisioningState from its string representation. + * @param name a name to look for + * @return the corresponding ProvisioningState + */ + @JsonCreator + public static ProvisioningState fromString(String name) { + return fromString(name, ProvisioningState.class); + } + + /** + * @return known ProvisioningState values + */ + public static Collection values() { + return values(ProvisioningState.class); + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ResourceIdentityType.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ResourceIdentityType.java new file mode 100644 index 000000000000..b83d6b1e2e55 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/ResourceIdentityType.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.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Defines values for ResourceIdentityType. + */ +public enum ResourceIdentityType { + /** Enum value SystemAssigned. */ + SYSTEM_ASSIGNED("SystemAssigned"); + + /** The actual serialized value for a ResourceIdentityType instance. */ + private String value; + + ResourceIdentityType(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a ResourceIdentityType instance. + * + * @param value the serialized value to parse. + * @return the parsed ResourceIdentityType object, or null if unable to parse. + */ + @JsonCreator + public static ResourceIdentityType fromString(String value) { + ResourceIdentityType[] items = ResourceIdentityType.values(); + for (ResourceIdentityType item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + @JsonValue + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Sku.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Sku.java new file mode 100644 index 000000000000..273249360ee5 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/Sku.java @@ -0,0 +1,173 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * SKU for the resource. + */ +public class Sku { + /** + * The SKU name. + */ + @JsonProperty(value = "name", required = true) + private String name; + + /** + * The SKU tier. + */ + @JsonProperty(value = "tier") + private String tier; + + /** + * The SKU size. + */ + @JsonProperty(value = "size") + private String size; + + /** + * The SKU family. + */ + @JsonProperty(value = "family") + private String family; + + /** + * The SKU model. + */ + @JsonProperty(value = "model") + private String model; + + /** + * The SKU capacity. + */ + @JsonProperty(value = "capacity") + private Integer capacity; + + /** + * Get the SKU name. + * + * @return the name value + */ + public String name() { + return this.name; + } + + /** + * Set the SKU name. + * + * @param name the name value to set + * @return the Sku object itself. + */ + public Sku withName(String name) { + this.name = name; + return this; + } + + /** + * Get the SKU tier. + * + * @return the tier value + */ + public String tier() { + return this.tier; + } + + /** + * Set the SKU tier. + * + * @param tier the tier value to set + * @return the Sku object itself. + */ + public Sku withTier(String tier) { + this.tier = tier; + return this; + } + + /** + * Get the SKU size. + * + * @return the size value + */ + public String size() { + return this.size; + } + + /** + * Set the SKU size. + * + * @param size the size value to set + * @return the Sku object itself. + */ + public Sku withSize(String size) { + this.size = size; + return this; + } + + /** + * Get the SKU family. + * + * @return the family value + */ + public String family() { + return this.family; + } + + /** + * Set the SKU family. + * + * @param family the family value to set + * @return the Sku object itself. + */ + public Sku withFamily(String family) { + this.family = family; + return this; + } + + /** + * Get the SKU model. + * + * @return the model value + */ + public String model() { + return this.model; + } + + /** + * Set the SKU model. + * + * @param model the model value to set + * @return the Sku object itself. + */ + public Sku withModel(String model) { + this.model = model; + return this; + } + + /** + * Get the SKU capacity. + * + * @return the capacity value + */ + public Integer capacity() { + return this.capacity; + } + + /** + * Set the SKU capacity. + * + * @param capacity the capacity value to set + * @return the Sku object itself. + */ + public Sku withCapacity(Integer capacity) { + this.capacity = capacity; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationClientImpl.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationClientImpl.java new file mode 100644 index 000000000000..c1affc799ce3 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationClientImpl.java @@ -0,0 +1,481 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.google.common.reflect.TypeToken; +import com.microsoft.azure.AzureClient; +import com.microsoft.azure.AzureServiceClient; +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.credentials.ServiceClientCredentials; +import com.microsoft.rest.RestClient; +import com.microsoft.rest.ServiceFuture; +import com.microsoft.rest.ServiceResponse; +import java.io.IOException; +import java.util.List; +import okhttp3.ResponseBody; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.Query; +import retrofit2.http.Url; +import retrofit2.Response; +import rx.functions.Func1; +import rx.Observable; + +/** + * Initializes a new instance of the ApplicationClientImpl class. + */ +public class ApplicationClientImpl extends AzureServiceClient { + /** The Retrofit service to perform REST calls. */ + private ApplicationClientService service; + /** the {@link AzureClient} used for long running operations. */ + private AzureClient azureClient; + + /** + * Gets the {@link AzureClient} used for long running operations. + * @return the azure client; + */ + public AzureClient getAzureClient() { + return this.azureClient; + } + + /** The ID of the target subscription. */ + private String subscriptionId; + + /** + * Gets The ID of the target subscription. + * + * @return the subscriptionId value. + */ + public String subscriptionId() { + return this.subscriptionId; + } + + /** + * Sets The ID of the target subscription. + * + * @param subscriptionId the subscriptionId value. + * @return the service client itself + */ + public ApplicationClientImpl withSubscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** The API version to use for this operation. */ + private String apiVersion; + + /** + * Gets The API version to use for this operation. + * + * @return the apiVersion value. + */ + public String apiVersion() { + return this.apiVersion; + } + + /** The preferred language for the response. */ + private String acceptLanguage; + + /** + * Gets The preferred language for the response. + * + * @return the acceptLanguage value. + */ + public String acceptLanguage() { + return this.acceptLanguage; + } + + /** + * Sets The preferred language for the response. + * + * @param acceptLanguage the acceptLanguage value. + * @return the service client itself + */ + public ApplicationClientImpl withAcceptLanguage(String acceptLanguage) { + this.acceptLanguage = acceptLanguage; + return this; + } + + /** The retry timeout in seconds for Long Running Operations. Default value is 30. */ + private int longRunningOperationRetryTimeout; + + /** + * Gets The retry timeout in seconds for Long Running Operations. Default value is 30. + * + * @return the longRunningOperationRetryTimeout value. + */ + public int longRunningOperationRetryTimeout() { + return this.longRunningOperationRetryTimeout; + } + + /** + * Sets The retry timeout in seconds for Long Running Operations. Default value is 30. + * + * @param longRunningOperationRetryTimeout the longRunningOperationRetryTimeout value. + * @return the service client itself + */ + public ApplicationClientImpl withLongRunningOperationRetryTimeout(int longRunningOperationRetryTimeout) { + this.longRunningOperationRetryTimeout = longRunningOperationRetryTimeout; + return this; + } + + /** Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true. */ + private boolean generateClientRequestId; + + /** + * Gets Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true. + * + * @return the generateClientRequestId value. + */ + public boolean generateClientRequestId() { + return this.generateClientRequestId; + } + + /** + * Sets Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true. + * + * @param generateClientRequestId the generateClientRequestId value. + * @return the service client itself + */ + public ApplicationClientImpl withGenerateClientRequestId(boolean generateClientRequestId) { + this.generateClientRequestId = generateClientRequestId; + return this; + } + + /** + * The ApplicationsInner object to access its operations. + */ + private ApplicationsInner applications; + + /** + * Gets the ApplicationsInner object to access its operations. + * @return the ApplicationsInner object. + */ + public ApplicationsInner applications() { + return this.applications; + } + + /** + * The ApplicationDefinitionsInner object to access its operations. + */ + private ApplicationDefinitionsInner applicationDefinitions; + + /** + * Gets the ApplicationDefinitionsInner object to access its operations. + * @return the ApplicationDefinitionsInner object. + */ + public ApplicationDefinitionsInner applicationDefinitions() { + return this.applicationDefinitions; + } + + /** + * The JitRequestsInner object to access its operations. + */ + private JitRequestsInner jitRequests; + + /** + * Gets the JitRequestsInner object to access its operations. + * @return the JitRequestsInner object. + */ + public JitRequestsInner jitRequests() { + return this.jitRequests; + } + + /** + * Initializes an instance of ApplicationClient client. + * + * @param credentials the management credentials for Azure + */ + public ApplicationClientImpl(ServiceClientCredentials credentials) { + this("https://management.azure.com", credentials); + } + + /** + * Initializes an instance of ApplicationClient client. + * + * @param baseUrl the base URL of the host + * @param credentials the management credentials for Azure + */ + public ApplicationClientImpl(String baseUrl, ServiceClientCredentials credentials) { + super(baseUrl, credentials); + initialize(); + } + + /** + * Initializes an instance of ApplicationClient client. + * + * @param restClient the REST client to connect to Azure. + */ + public ApplicationClientImpl(RestClient restClient) { + super(restClient); + initialize(); + } + + protected void initialize() { + this.apiVersion = "2019-07-01"; + this.acceptLanguage = "en-US"; + this.longRunningOperationRetryTimeout = 30; + this.generateClientRequestId = true; + this.applications = new ApplicationsInner(restClient().retrofit(), this); + this.applicationDefinitions = new ApplicationDefinitionsInner(restClient().retrofit(), this); + this.jitRequests = new JitRequestsInner(restClient().retrofit(), this); + this.azureClient = new AzureClient(this); + initializeService(); + } + + /** + * Gets the User-Agent header for the client. + * + * @return the user agent string. + */ + @Override + public String userAgent() { + return String.format("%s (%s, %s, auto-generated)", super.userAgent(), "ApplicationClient", "2019-07-01"); + } + + private void initializeService() { + service = restClient().retrofit().create(ApplicationClientService.class); + } + + /** + * The interface defining all the services for ApplicationClient to be + * used by Retrofit to perform actually REST calls. + */ + interface ApplicationClientService { + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationClient listOperations" }) + @GET("providers/Microsoft.Solutions/operations") + Observable> listOperations(@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.managedapplications.v2019_07_01.ApplicationClient listOperationsNext" }) + @GET + Observable> listOperationsNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent); + + } + + /** + * Lists all of the available Microsoft.Solutions REST API operations. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws CloudException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the PagedList<OperationInner> object if successful. + */ + public PagedList listOperations() { + ServiceResponse> response = listOperationsSinglePageAsync().toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listOperationsNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Lists all of the available Microsoft.Solutions REST API operations. + * + * @param serviceCallback the async ServiceCallback to handle successful and failed responses. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceFuture} object + */ + public ServiceFuture> listOperationsAsync(final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listOperationsSinglePageAsync(), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listOperationsNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Lists all of the available Microsoft.Solutions REST API operations. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<OperationInner> object + */ + public Observable> listOperationsAsync() { + return listOperationsWithServiceResponseAsync() + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Lists all of the available Microsoft.Solutions REST API operations. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<OperationInner> object + */ + public Observable>> listOperationsWithServiceResponseAsync() { + return listOperationsSinglePageAsync() + .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(listOperationsNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Lists all of the available Microsoft.Solutions REST API operations. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<OperationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listOperationsSinglePageAsync() { + if (this.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.apiVersion() is required and cannot be null."); + } + return service.listOperations(this.apiVersion(), this.acceptLanguage(), this.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listOperationsDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listOperationsDelegate(Response response) throws CloudException, IOException, IllegalArgumentException { + return this.restClient().responseBuilderFactory()., CloudException>newInstance(this.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(CloudException.class) + .build(response); + } + + /** + * Lists all of the available Microsoft.Solutions REST API operations. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws CloudException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the PagedList<OperationInner> object if successful. + */ + public PagedList listOperationsNext(final String nextPageLink) { + ServiceResponse> response = listOperationsNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listOperationsNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Lists all of the available Microsoft.Solutions REST API operations. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param serviceFuture the ServiceFuture object tracking the Retrofit calls + * @param serviceCallback the async ServiceCallback to handle successful and failed responses. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceFuture} object + */ + public ServiceFuture> listOperationsNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listOperationsNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listOperationsNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Lists all of the available Microsoft.Solutions REST API operations. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<OperationInner> object + */ + public Observable> listOperationsNextAsync(final String nextPageLink) { + return listOperationsNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Lists all of the available Microsoft.Solutions REST API operations. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<OperationInner> object + */ + public Observable>> listOperationsNextWithServiceResponseAsync(final String nextPageLink) { + return listOperationsNextSinglePageAsync(nextPageLink) + .concatMap(new Func1>, Observable>>>() { + @Override + public Observable>> call(ServiceResponse> page) { + String nextPageLink = page.body().nextPageLink(); + if (nextPageLink == null) { + return Observable.just(page); + } + return Observable.just(page).concatWith(listOperationsNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Lists all of the available Microsoft.Solutions REST API operations. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<OperationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listOperationsNextSinglePageAsync(final String nextPageLink) { + if (nextPageLink == null) { + throw new IllegalArgumentException("Parameter nextPageLink is required and cannot be null."); + } + String nextUrl = String.format("%s", nextPageLink); + return service.listOperationsNext(nextUrl, this.acceptLanguage(), this.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listOperationsNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listOperationsNextDelegate(Response response) throws CloudException, IOException, IllegalArgumentException { + return this.restClient().responseBuilderFactory()., CloudException>newInstance(this.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(CloudException.class) + .build(response); + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationDefinitionImpl.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationDefinitionImpl.java new file mode 100644 index 000000000000..c9c02b208af4 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationDefinitionImpl.java @@ -0,0 +1,232 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.microsoft.azure.arm.resources.models.implementation.GroupableResourceCoreImpl; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationDefinition; +import rx.Observable; +import com.microsoft.azure.management.managedapplications.v2019_07_01.Sku; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationLockLevel; +import java.util.List; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationAuthorization; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationDefinitionArtifact; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationNotificationPolicy; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationPackageLockingPolicyDefinition; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationDeploymentPolicy; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationManagementPolicy; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationPolicy; + +class ApplicationDefinitionImpl extends GroupableResourceCoreImpl implements ApplicationDefinition, ApplicationDefinition.Definition, ApplicationDefinition.Update { + ApplicationDefinitionImpl(String name, ApplicationDefinitionInner inner, ManagedApplicationsManager manager) { + super(name, inner, manager); + } + + @Override + public Observable createResourceAsync() { + ApplicationDefinitionsInner client = this.manager().inner().applicationDefinitions(); + return client.createOrUpdateAsync(this.resourceGroupName(), this.name(), this.inner()) + .map(innerToFluentMap(this)); + } + + @Override + public Observable updateResourceAsync() { + ApplicationDefinitionsInner client = this.manager().inner().applicationDefinitions(); + return client.createOrUpdateAsync(this.resourceGroupName(), this.name(), this.inner()) + .map(innerToFluentMap(this)); + } + + @Override + protected Observable getInnerAsync() { + ApplicationDefinitionsInner client = this.manager().inner().applicationDefinitions(); + return client.getByResourceGroupAsync(this.resourceGroupName(), this.name()); + } + + @Override + public boolean isInCreateMode() { + return this.inner().id() == null; + } + + + @Override + public List artifacts() { + return this.inner().artifacts(); + } + + @Override + public List authorizations() { + return this.inner().authorizations(); + } + + @Override + public Object createUiDefinition() { + return this.inner().createUiDefinition(); + } + + @Override + public ApplicationDeploymentPolicy deploymentPolicy() { + return this.inner().deploymentPolicy(); + } + + @Override + public String description() { + return this.inner().description(); + } + + @Override + public String displayName() { + return this.inner().displayName(); + } + + @Override + public Boolean isEnabled() { + return this.inner().isEnabled(); + } + + @Override + public ApplicationPackageLockingPolicyDefinition lockingPolicy() { + return this.inner().lockingPolicy(); + } + + @Override + public ApplicationLockLevel lockLevel() { + return this.inner().lockLevel(); + } + + @Override + public Object mainTemplate() { + return this.inner().mainTemplate(); + } + + @Override + public String managedBy() { + return this.inner().managedBy(); + } + + @Override + public ApplicationManagementPolicy managementPolicy() { + return this.inner().managementPolicy(); + } + + @Override + public ApplicationNotificationPolicy notificationPolicy() { + return this.inner().notificationPolicy(); + } + + @Override + public String packageFileUri() { + return this.inner().packageFileUri(); + } + + @Override + public List policies() { + return this.inner().policies(); + } + + @Override + public Sku sku() { + return this.inner().sku(); + } + + @Override + public ApplicationDefinitionImpl withLockLevel(ApplicationLockLevel lockLevel) { + this.inner().withLockLevel(lockLevel); + return this; + } + + @Override + public ApplicationDefinitionImpl withArtifacts(List artifacts) { + this.inner().withArtifacts(artifacts); + return this; + } + + @Override + public ApplicationDefinitionImpl withAuthorizations(List authorizations) { + this.inner().withAuthorizations(authorizations); + return this; + } + + @Override + public ApplicationDefinitionImpl withCreateUiDefinition(Object createUiDefinition) { + this.inner().withCreateUiDefinition(createUiDefinition); + return this; + } + + @Override + public ApplicationDefinitionImpl withDeploymentPolicy(ApplicationDeploymentPolicy deploymentPolicy) { + this.inner().withDeploymentPolicy(deploymentPolicy); + return this; + } + + @Override + public ApplicationDefinitionImpl withDescription(String description) { + this.inner().withDescription(description); + return this; + } + + @Override + public ApplicationDefinitionImpl withDisplayName(String displayName) { + this.inner().withDisplayName(displayName); + return this; + } + + @Override + public ApplicationDefinitionImpl withIsEnabled(Boolean isEnabled) { + this.inner().withIsEnabled(isEnabled); + return this; + } + + @Override + public ApplicationDefinitionImpl withLockingPolicy(ApplicationPackageLockingPolicyDefinition lockingPolicy) { + this.inner().withLockingPolicy(lockingPolicy); + return this; + } + + @Override + public ApplicationDefinitionImpl withMainTemplate(Object mainTemplate) { + this.inner().withMainTemplate(mainTemplate); + return this; + } + + @Override + public ApplicationDefinitionImpl withManagedBy(String managedBy) { + this.inner().withManagedBy(managedBy); + return this; + } + + @Override + public ApplicationDefinitionImpl withManagementPolicy(ApplicationManagementPolicy managementPolicy) { + this.inner().withManagementPolicy(managementPolicy); + return this; + } + + @Override + public ApplicationDefinitionImpl withNotificationPolicy(ApplicationNotificationPolicy notificationPolicy) { + this.inner().withNotificationPolicy(notificationPolicy); + return this; + } + + @Override + public ApplicationDefinitionImpl withPackageFileUri(String packageFileUri) { + this.inner().withPackageFileUri(packageFileUri); + return this; + } + + @Override + public ApplicationDefinitionImpl withPolicies(List policies) { + this.inner().withPolicies(policies); + return this; + } + + @Override + public ApplicationDefinitionImpl withSku(Sku sku) { + this.inner().withSku(sku); + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationDefinitionInner.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationDefinitionInner.java new file mode 100644 index 000000000000..b5215d402eac --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationDefinitionInner.java @@ -0,0 +1,400 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationLockLevel; +import java.util.List; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationAuthorization; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationDefinitionArtifact; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationNotificationPolicy; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationPackageLockingPolicyDefinition; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationDeploymentPolicy; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationManagementPolicy; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationPolicy; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.microsoft.rest.serializer.JsonFlatten; +import com.microsoft.azure.management.managedapplications.v2019_07_01.GenericResource; + +/** + * Information about managed application definition. + */ +@JsonFlatten +public class ApplicationDefinitionInner extends GenericResource { + /** + * The managed application lock level. Possible values include: + * 'CanNotDelete', 'ReadOnly', 'None'. + */ + @JsonProperty(value = "properties.lockLevel", required = true) + private ApplicationLockLevel lockLevel; + + /** + * The managed application definition display name. + */ + @JsonProperty(value = "properties.displayName") + private String displayName; + + /** + * A value indicating whether the package is enabled or not. + */ + @JsonProperty(value = "properties.isEnabled") + private Boolean isEnabled; + + /** + * The managed application provider authorizations. + */ + @JsonProperty(value = "properties.authorizations") + private List authorizations; + + /** + * The collection of managed application artifacts. The portal will use the + * files specified as artifacts to construct the user experience of + * creating a managed application from a managed application definition. + */ + @JsonProperty(value = "properties.artifacts") + private List artifacts; + + /** + * The managed application definition description. + */ + @JsonProperty(value = "properties.description") + private String description; + + /** + * The managed application definition package file Uri. Use this element. + */ + @JsonProperty(value = "properties.packageFileUri") + private String packageFileUri; + + /** + * The inline main template json which has resources to be provisioned. It + * can be a JObject or well-formed JSON string. + */ + @JsonProperty(value = "properties.mainTemplate") + private Object mainTemplate; + + /** + * The createUiDefinition json for the backing template with + * Microsoft.Solutions/applications resource. It can be a JObject or + * well-formed JSON string. + */ + @JsonProperty(value = "properties.createUiDefinition") + private Object createUiDefinition; + + /** + * The managed application notification policy. + */ + @JsonProperty(value = "properties.notificationPolicy") + private ApplicationNotificationPolicy notificationPolicy; + + /** + * The managed application locking policy. + */ + @JsonProperty(value = "properties.lockingPolicy") + private ApplicationPackageLockingPolicyDefinition lockingPolicy; + + /** + * The managed application deployment policy. + */ + @JsonProperty(value = "properties.deploymentPolicy") + private ApplicationDeploymentPolicy deploymentPolicy; + + /** + * The managed application management policy that determines publisher's + * access to the managed resource group. + */ + @JsonProperty(value = "properties.managementPolicy") + private ApplicationManagementPolicy managementPolicy; + + /** + * The managed application provider policies. + */ + @JsonProperty(value = "properties.policies") + private List policies; + + /** + * Get the managed application lock level. Possible values include: 'CanNotDelete', 'ReadOnly', 'None'. + * + * @return the lockLevel value + */ + public ApplicationLockLevel lockLevel() { + return this.lockLevel; + } + + /** + * Set the managed application lock level. Possible values include: 'CanNotDelete', 'ReadOnly', 'None'. + * + * @param lockLevel the lockLevel value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withLockLevel(ApplicationLockLevel lockLevel) { + this.lockLevel = lockLevel; + return this; + } + + /** + * Get the managed application definition display name. + * + * @return the displayName value + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the managed application definition display name. + * + * @param displayName the displayName value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get a value indicating whether the package is enabled or not. + * + * @return the isEnabled value + */ + public Boolean isEnabled() { + return this.isEnabled; + } + + /** + * Set a value indicating whether the package is enabled or not. + * + * @param isEnabled the isEnabled value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withIsEnabled(Boolean isEnabled) { + this.isEnabled = isEnabled; + return this; + } + + /** + * Get the managed application provider authorizations. + * + * @return the authorizations value + */ + public List authorizations() { + return this.authorizations; + } + + /** + * Set the managed application provider authorizations. + * + * @param authorizations the authorizations value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withAuthorizations(List authorizations) { + this.authorizations = authorizations; + return this; + } + + /** + * Get the collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition. + * + * @return the artifacts value + */ + public List artifacts() { + return this.artifacts; + } + + /** + * Set the collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition. + * + * @param artifacts the artifacts value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withArtifacts(List artifacts) { + this.artifacts = artifacts; + return this; + } + + /** + * Get the managed application definition description. + * + * @return the description value + */ + public String description() { + return this.description; + } + + /** + * Set the managed application definition description. + * + * @param description the description value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the managed application definition package file Uri. Use this element. + * + * @return the packageFileUri value + */ + public String packageFileUri() { + return this.packageFileUri; + } + + /** + * Set the managed application definition package file Uri. Use this element. + * + * @param packageFileUri the packageFileUri value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withPackageFileUri(String packageFileUri) { + this.packageFileUri = packageFileUri; + return this; + } + + /** + * Get the inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string. + * + * @return the mainTemplate value + */ + public Object mainTemplate() { + return this.mainTemplate; + } + + /** + * Set the inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string. + * + * @param mainTemplate the mainTemplate value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withMainTemplate(Object mainTemplate) { + this.mainTemplate = mainTemplate; + return this; + } + + /** + * Get the createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string. + * + * @return the createUiDefinition value + */ + public Object createUiDefinition() { + return this.createUiDefinition; + } + + /** + * Set the createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string. + * + * @param createUiDefinition the createUiDefinition value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withCreateUiDefinition(Object createUiDefinition) { + this.createUiDefinition = createUiDefinition; + return this; + } + + /** + * Get the managed application notification policy. + * + * @return the notificationPolicy value + */ + public ApplicationNotificationPolicy notificationPolicy() { + return this.notificationPolicy; + } + + /** + * Set the managed application notification policy. + * + * @param notificationPolicy the notificationPolicy value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withNotificationPolicy(ApplicationNotificationPolicy notificationPolicy) { + this.notificationPolicy = notificationPolicy; + return this; + } + + /** + * Get the managed application locking policy. + * + * @return the lockingPolicy value + */ + public ApplicationPackageLockingPolicyDefinition lockingPolicy() { + return this.lockingPolicy; + } + + /** + * Set the managed application locking policy. + * + * @param lockingPolicy the lockingPolicy value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withLockingPolicy(ApplicationPackageLockingPolicyDefinition lockingPolicy) { + this.lockingPolicy = lockingPolicy; + return this; + } + + /** + * Get the managed application deployment policy. + * + * @return the deploymentPolicy value + */ + public ApplicationDeploymentPolicy deploymentPolicy() { + return this.deploymentPolicy; + } + + /** + * Set the managed application deployment policy. + * + * @param deploymentPolicy the deploymentPolicy value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withDeploymentPolicy(ApplicationDeploymentPolicy deploymentPolicy) { + this.deploymentPolicy = deploymentPolicy; + return this; + } + + /** + * Get the managed application management policy that determines publisher's access to the managed resource group. + * + * @return the managementPolicy value + */ + public ApplicationManagementPolicy managementPolicy() { + return this.managementPolicy; + } + + /** + * Set the managed application management policy that determines publisher's access to the managed resource group. + * + * @param managementPolicy the managementPolicy value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withManagementPolicy(ApplicationManagementPolicy managementPolicy) { + this.managementPolicy = managementPolicy; + return this; + } + + /** + * Get the managed application provider policies. + * + * @return the policies value + */ + public List policies() { + return this.policies; + } + + /** + * Set the managed application provider policies. + * + * @param policies the policies value to set + * @return the ApplicationDefinitionInner object itself. + */ + public ApplicationDefinitionInner withPolicies(List policies) { + this.policies = policies; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationDefinitionsImpl.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationDefinitionsImpl.java new file mode 100644 index 000000000000..82a3461370e0 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationDefinitionsImpl.java @@ -0,0 +1,144 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * def + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.microsoft.azure.arm.resources.collection.implementation.GroupableResourcesCoreImpl; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationDefinitions; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationDefinition; +import rx.Observable; +import rx.Completable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import com.microsoft.azure.arm.resources.ResourceUtilsCore; +import com.microsoft.azure.arm.utils.RXMapper; +import rx.functions.Func1; +import com.microsoft.azure.PagedList; +import com.microsoft.azure.Page; + +class ApplicationDefinitionsImpl extends GroupableResourcesCoreImpl implements ApplicationDefinitions { + protected ApplicationDefinitionsImpl(ManagedApplicationsManager manager) { + super(manager.inner().applicationDefinitions(), manager); + } + + @Override + protected Observable getInnerAsync(String resourceGroupName, String name) { + ApplicationDefinitionsInner client = this.inner(); + return client.getByResourceGroupAsync(resourceGroupName, name); + } + + @Override + protected Completable deleteInnerAsync(String resourceGroupName, String name) { + ApplicationDefinitionsInner client = this.inner(); + return client.deleteAsync(resourceGroupName, name).toCompletable(); + } + + @Override + public Observable deleteByIdsAsync(Collection ids) { + if (ids == null || ids.isEmpty()) { + return Observable.empty(); + } + Collection> observables = new ArrayList<>(); + for (String id : ids) { + final String resourceGroupName = ResourceUtilsCore.groupFromResourceId(id); + final String name = ResourceUtilsCore.nameFromResourceId(id); + Observable o = RXMapper.map(this.inner().deleteAsync(resourceGroupName, name), id); + observables.add(o); + } + return Observable.mergeDelayError(observables); + } + + @Override + public Observable deleteByIdsAsync(String...ids) { + return this.deleteByIdsAsync(new ArrayList(Arrays.asList(ids))); + } + + @Override + public void deleteByIds(Collection ids) { + if (ids != null && !ids.isEmpty()) { + this.deleteByIdsAsync(ids).toBlocking().last(); + } + } + + @Override + public void deleteByIds(String...ids) { + this.deleteByIds(new ArrayList(Arrays.asList(ids))); + } + + @Override + public PagedList listByResourceGroup(String resourceGroupName) { + ApplicationDefinitionsInner client = this.inner(); + return this.wrapList(client.listByResourceGroup(resourceGroupName)); + } + + @Override + public Observable listByResourceGroupAsync(String resourceGroupName) { + ApplicationDefinitionsInner client = this.inner(); + return client.listByResourceGroupAsync(resourceGroupName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public ApplicationDefinition call(ApplicationDefinitionInner inner) { + return wrapModel(inner); + } + }); + } + + @Override + public ApplicationDefinitionImpl define(String name) { + return wrapModel(name); + } + + @Override + public Observable getByIdAsync(String applicationDefinitionId) { + ApplicationDefinitionsInner client = this.inner(); + return client.getByIdAsync(applicationDefinitionId) + .map(new Func1() { + @Override + public ApplicationDefinition call(ApplicationDefinitionInner inner) { + return new ApplicationDefinitionImpl(inner.name(), inner, manager()); + } + }); + } + + @Override + public Completable deleteByIdAsync(String applicationDefinitionId) { + ApplicationDefinitionsInner client = this.inner(); + return client.deleteByIdAsync(applicationDefinitionId).toCompletable(); + } + + @Override + public Observable createOrUpdateByIdAsync(String applicationDefinitionId, ApplicationDefinitionInner parameters) { + ApplicationDefinitionsInner client = this.inner(); + return client.createOrUpdateByIdAsync(applicationDefinitionId, parameters) + .map(new Func1() { + @Override + public ApplicationDefinition call(ApplicationDefinitionInner inner) { + return new ApplicationDefinitionImpl(inner.name(), inner, manager()); + } + }); + } + + @Override + protected ApplicationDefinitionImpl wrapModel(ApplicationDefinitionInner inner) { + return new ApplicationDefinitionImpl(inner.name(), inner, manager()); + } + + @Override + protected ApplicationDefinitionImpl wrapModel(String name) { + return new ApplicationDefinitionImpl(name, new ApplicationDefinitionInner(), this.manager()); + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationDefinitionsInner.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationDefinitionsInner.java new file mode 100644 index 000000000000..b6c03efe5546 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationDefinitionsInner.java @@ -0,0 +1,1118 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.microsoft.azure.arm.collection.InnerSupportsGet; +import com.microsoft.azure.arm.collection.InnerSupportsDelete; +import retrofit2.Retrofit; +import com.google.common.reflect.TypeToken; +import com.microsoft.azure.AzureServiceFuture; +import com.microsoft.azure.ListOperationCallback; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ErrorResponseException; +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 com.microsoft.rest.Validator; +import java.io.IOException; +import java.util.List; +import okhttp3.ResponseBody; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.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 ApplicationDefinitions. + */ +public class ApplicationDefinitionsInner implements InnerSupportsGet, InnerSupportsDelete { + /** The Retrofit service to perform REST calls. */ + private ApplicationDefinitionsService service; + /** The service client containing this operation class. */ + private ApplicationClientImpl client; + + /** + * Initializes an instance of ApplicationDefinitionsInner. + * + * @param retrofit the Retrofit instance built from a Retrofit Builder. + * @param client the instance of the service client containing this operation class. + */ + public ApplicationDefinitionsInner(Retrofit retrofit, ApplicationClientImpl client) { + this.service = retrofit.create(ApplicationDefinitionsService.class); + this.client = client; + } + + /** + * The interface defining all the services for ApplicationDefinitions to be + * used by Retrofit to perform actually REST calls. + */ + interface ApplicationDefinitionsService { + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationDefinitions getByResourceGroup" }) + @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}") + Observable> getByResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("applicationDefinitionName") String applicationDefinitionName, @Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.ApplicationDefinitions delete" }) + @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}", method = "DELETE", hasBody = true) + Observable> delete(@Path("resourceGroupName") String resourceGroupName, @Path("applicationDefinitionName") String applicationDefinitionName, @Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.ApplicationDefinitions beginDelete" }) + @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}", method = "DELETE", hasBody = true) + Observable> beginDelete(@Path("resourceGroupName") String resourceGroupName, @Path("applicationDefinitionName") String applicationDefinitionName, @Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.ApplicationDefinitions createOrUpdate" }) + @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}") + Observable> createOrUpdate(@Path("resourceGroupName") String resourceGroupName, @Path("applicationDefinitionName") String applicationDefinitionName, @Path("subscriptionId") String subscriptionId, @Body ApplicationDefinitionInner parameters, @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.managedapplications.v2019_07_01.ApplicationDefinitions beginCreateOrUpdate" }) + @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}") + Observable> beginCreateOrUpdate(@Path("resourceGroupName") String resourceGroupName, @Path("applicationDefinitionName") String applicationDefinitionName, @Path("subscriptionId") String subscriptionId, @Body ApplicationDefinitionInner parameters, @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.managedapplications.v2019_07_01.ApplicationDefinitions listByResourceGroup" }) + @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions") + Observable> listByResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.ApplicationDefinitions getById" }) + @GET("{applicationDefinitionId}") + Observable> getById(@Path(value = "applicationDefinitionId", encoded = true) String applicationDefinitionId, @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.managedapplications.v2019_07_01.ApplicationDefinitions deleteById" }) + @HTTP(path = "{applicationDefinitionId}", method = "DELETE", hasBody = true) + Observable> deleteById(@Path(value = "applicationDefinitionId", encoded = true) String applicationDefinitionId, @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.managedapplications.v2019_07_01.ApplicationDefinitions beginDeleteById" }) + @HTTP(path = "{applicationDefinitionId}", method = "DELETE", hasBody = true) + Observable> beginDeleteById(@Path(value = "applicationDefinitionId", encoded = true) String applicationDefinitionId, @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.managedapplications.v2019_07_01.ApplicationDefinitions createOrUpdateById" }) + @PUT("{applicationDefinitionId}") + Observable> createOrUpdateById(@Path(value = "applicationDefinitionId", encoded = true) String applicationDefinitionId, @Body ApplicationDefinitionInner parameters, @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.managedapplications.v2019_07_01.ApplicationDefinitions beginCreateOrUpdateById" }) + @PUT("{applicationDefinitionId}") + Observable> beginCreateOrUpdateById(@Path(value = "applicationDefinitionId", encoded = true) String applicationDefinitionId, @Body ApplicationDefinitionInner parameters, @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.managedapplications.v2019_07_01.ApplicationDefinitions listByResourceGroupNext" }) + @GET + Observable> listByResourceGroupNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent); + + } + + /** + * Gets the managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationDefinitionInner object if successful. + */ + public ApplicationDefinitionInner getByResourceGroup(String resourceGroupName, String applicationDefinitionName) { + return getByResourceGroupWithServiceResponseAsync(resourceGroupName, applicationDefinitionName).toBlocking().single().body(); + } + + /** + * Gets the managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition. + * @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 getByResourceGroupAsync(String resourceGroupName, String applicationDefinitionName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(getByResourceGroupWithServiceResponseAsync(resourceGroupName, applicationDefinitionName), serviceCallback); + } + + /** + * Gets the managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationDefinitionInner object + */ + public Observable getByResourceGroupAsync(String resourceGroupName, String applicationDefinitionName) { + return getByResourceGroupWithServiceResponseAsync(resourceGroupName, applicationDefinitionName).map(new Func1, ApplicationDefinitionInner>() { + @Override + public ApplicationDefinitionInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Gets the managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationDefinitionInner object + */ + public Observable> getByResourceGroupWithServiceResponseAsync(String resourceGroupName, String applicationDefinitionName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationDefinitionName == null) { + throw new IllegalArgumentException("Parameter applicationDefinitionName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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.getByResourceGroup(resourceGroupName, applicationDefinitionName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = getByResourceGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse getByResourceGroupDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Deletes the managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException 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 applicationDefinitionName) { + deleteWithServiceResponseAsync(resourceGroupName, applicationDefinitionName).toBlocking().last().body(); + } + + /** + * Deletes the managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition to delete. + * @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 applicationDefinitionName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(deleteWithServiceResponseAsync(resourceGroupName, applicationDefinitionName), serviceCallback); + } + + /** + * Deletes the managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable deleteAsync(String resourceGroupName, String applicationDefinitionName) { + return deleteWithServiceResponseAsync(resourceGroupName, applicationDefinitionName).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Deletes the managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable> deleteWithServiceResponseAsync(String resourceGroupName, String applicationDefinitionName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationDefinitionName == null) { + throw new IllegalArgumentException("Parameter applicationDefinitionName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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(resourceGroupName, applicationDefinitionName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()); + return client.getAzureClient().getPostOrDeleteResultAsync(observable, new TypeToken() { }.getType()); + } + + /** + * Deletes the managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException 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 applicationDefinitionName) { + beginDeleteWithServiceResponseAsync(resourceGroupName, applicationDefinitionName).toBlocking().single().body(); + } + + /** + * Deletes the managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition to delete. + * @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 applicationDefinitionName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(beginDeleteWithServiceResponseAsync(resourceGroupName, applicationDefinitionName), serviceCallback); + } + + /** + * Deletes the managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable beginDeleteAsync(String resourceGroupName, String applicationDefinitionName) { + return beginDeleteWithServiceResponseAsync(resourceGroupName, applicationDefinitionName).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Deletes the managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable> beginDeleteWithServiceResponseAsync(String resourceGroupName, String applicationDefinitionName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationDefinitionName == null) { + throw new IllegalArgumentException("Parameter applicationDefinitionName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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(resourceGroupName, applicationDefinitionName, this.client.subscriptionId(), 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 ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .register(202, new TypeToken() { }.getType()) + .register(204, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Creates a new managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition. + * @param parameters Parameters supplied to the create or update an managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationDefinitionInner object if successful. + */ + public ApplicationDefinitionInner createOrUpdate(String resourceGroupName, String applicationDefinitionName, ApplicationDefinitionInner parameters) { + return createOrUpdateWithServiceResponseAsync(resourceGroupName, applicationDefinitionName, parameters).toBlocking().last().body(); + } + + /** + * Creates a new managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition. + * @param parameters Parameters supplied to the create or update an managed application definition. + * @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 applicationDefinitionName, ApplicationDefinitionInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(createOrUpdateWithServiceResponseAsync(resourceGroupName, applicationDefinitionName, parameters), serviceCallback); + } + + /** + * Creates a new managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition. + * @param parameters Parameters supplied to the create or update an managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable createOrUpdateAsync(String resourceGroupName, String applicationDefinitionName, ApplicationDefinitionInner parameters) { + return createOrUpdateWithServiceResponseAsync(resourceGroupName, applicationDefinitionName, parameters).map(new Func1, ApplicationDefinitionInner>() { + @Override + public ApplicationDefinitionInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates a new managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition. + * @param parameters Parameters supplied to the create or update an managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable> createOrUpdateWithServiceResponseAsync(String resourceGroupName, String applicationDefinitionName, ApplicationDefinitionInner parameters) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationDefinitionName == null) { + throw new IllegalArgumentException("Parameter applicationDefinitionName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + if (this.client.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."); + } + Validator.validate(parameters); + Observable> observable = service.createOrUpdate(resourceGroupName, applicationDefinitionName, this.client.subscriptionId(), parameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()); + return client.getAzureClient().getPutOrPatchResultAsync(observable, new TypeToken() { }.getType()); + } + + /** + * Creates a new managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition. + * @param parameters Parameters supplied to the create or update an managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationDefinitionInner object if successful. + */ + public ApplicationDefinitionInner beginCreateOrUpdate(String resourceGroupName, String applicationDefinitionName, ApplicationDefinitionInner parameters) { + return beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, applicationDefinitionName, parameters).toBlocking().single().body(); + } + + /** + * Creates a new managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition. + * @param parameters Parameters supplied to the create or update an managed application definition. + * @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 applicationDefinitionName, ApplicationDefinitionInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, applicationDefinitionName, parameters), serviceCallback); + } + + /** + * Creates a new managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition. + * @param parameters Parameters supplied to the create or update an managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationDefinitionInner object + */ + public Observable beginCreateOrUpdateAsync(String resourceGroupName, String applicationDefinitionName, ApplicationDefinitionInner parameters) { + return beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, applicationDefinitionName, parameters).map(new Func1, ApplicationDefinitionInner>() { + @Override + public ApplicationDefinitionInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates a new managed application definition. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationDefinitionName The name of the managed application definition. + * @param parameters Parameters supplied to the create or update an managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationDefinitionInner object + */ + public Observable> beginCreateOrUpdateWithServiceResponseAsync(String resourceGroupName, String applicationDefinitionName, ApplicationDefinitionInner parameters) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationDefinitionName == null) { + throw new IllegalArgumentException("Parameter applicationDefinitionName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + if (this.client.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."); + } + Validator.validate(parameters); + return service.beginCreateOrUpdate(resourceGroupName, applicationDefinitionName, this.client.subscriptionId(), parameters, 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 ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .register(201, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Lists the managed application definitions in a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException 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<ApplicationDefinitionInner> object if successful. + */ + public PagedList listByResourceGroup(final String resourceGroupName) { + ServiceResponse> response = listByResourceGroupSinglePageAsync(resourceGroupName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Lists the managed application definitions in a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @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> listByResourceGroupAsync(final String resourceGroupName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listByResourceGroupSinglePageAsync(resourceGroupName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Lists the managed application definitions in a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<ApplicationDefinitionInner> object + */ + public Observable> listByResourceGroupAsync(final String resourceGroupName) { + return listByResourceGroupWithServiceResponseAsync(resourceGroupName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Lists the managed application definitions in a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<ApplicationDefinitionInner> object + */ + public Observable>> listByResourceGroupWithServiceResponseAsync(final String resourceGroupName) { + return listByResourceGroupSinglePageAsync(resourceGroupName) + .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(listByResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Lists the managed application definitions in a resource group. + * + ServiceResponse> * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<ApplicationDefinitionInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listByResourceGroupSinglePageAsync(final String resourceGroupName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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.listByResourceGroup(resourceGroupName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listByResourceGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listByResourceGroupDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Gets the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationDefinitionInner object if successful. + */ + public ApplicationDefinitionInner getById(String applicationDefinitionId) { + return getByIdWithServiceResponseAsync(applicationDefinitionId).toBlocking().single().body(); + } + + /** + * Gets the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-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 getByIdAsync(String applicationDefinitionId, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(getByIdWithServiceResponseAsync(applicationDefinitionId), serviceCallback); + } + + /** + * Gets the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationDefinitionInner object + */ + public Observable getByIdAsync(String applicationDefinitionId) { + return getByIdWithServiceResponseAsync(applicationDefinitionId).map(new Func1, ApplicationDefinitionInner>() { + @Override + public ApplicationDefinitionInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Gets the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationDefinitionInner object + */ + public Observable> getByIdWithServiceResponseAsync(String applicationDefinitionId) { + if (applicationDefinitionId == null) { + throw new IllegalArgumentException("Parameter applicationDefinitionId 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.getById(applicationDefinitionId, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = getByIdDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse getByIdDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Deletes the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + */ + public void deleteById(String applicationDefinitionId) { + deleteByIdWithServiceResponseAsync(applicationDefinitionId).toBlocking().last().body(); + } + + /** + * Deletes the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-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 deleteByIdAsync(String applicationDefinitionId, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(deleteByIdWithServiceResponseAsync(applicationDefinitionId), serviceCallback); + } + + /** + * Deletes the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable deleteByIdAsync(String applicationDefinitionId) { + return deleteByIdWithServiceResponseAsync(applicationDefinitionId).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Deletes the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable> deleteByIdWithServiceResponseAsync(String applicationDefinitionId) { + if (applicationDefinitionId == null) { + throw new IllegalArgumentException("Parameter applicationDefinitionId 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.deleteById(applicationDefinitionId, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()); + return client.getAzureClient().getPostOrDeleteResultAsync(observable, new TypeToken() { }.getType()); + } + + /** + * Deletes the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + */ + public void beginDeleteById(String applicationDefinitionId) { + beginDeleteByIdWithServiceResponseAsync(applicationDefinitionId).toBlocking().single().body(); + } + + /** + * Deletes the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-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 beginDeleteByIdAsync(String applicationDefinitionId, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(beginDeleteByIdWithServiceResponseAsync(applicationDefinitionId), serviceCallback); + } + + /** + * Deletes the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable beginDeleteByIdAsync(String applicationDefinitionId) { + return beginDeleteByIdWithServiceResponseAsync(applicationDefinitionId).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Deletes the managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable> beginDeleteByIdWithServiceResponseAsync(String applicationDefinitionId) { + if (applicationDefinitionId == null) { + throw new IllegalArgumentException("Parameter applicationDefinitionId 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.beginDeleteById(applicationDefinitionId, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = beginDeleteByIdDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse beginDeleteByIdDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .register(202, new TypeToken() { }.getType()) + .register(204, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Creates a new managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @param parameters Parameters supplied to the create or update a managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationDefinitionInner object if successful. + */ + public ApplicationDefinitionInner createOrUpdateById(String applicationDefinitionId, ApplicationDefinitionInner parameters) { + return createOrUpdateByIdWithServiceResponseAsync(applicationDefinitionId, parameters).toBlocking().last().body(); + } + + /** + * Creates a new managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @param parameters Parameters supplied to the create or update a managed application definition. + * @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 createOrUpdateByIdAsync(String applicationDefinitionId, ApplicationDefinitionInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(createOrUpdateByIdWithServiceResponseAsync(applicationDefinitionId, parameters), serviceCallback); + } + + /** + * Creates a new managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @param parameters Parameters supplied to the create or update a managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable createOrUpdateByIdAsync(String applicationDefinitionId, ApplicationDefinitionInner parameters) { + return createOrUpdateByIdWithServiceResponseAsync(applicationDefinitionId, parameters).map(new Func1, ApplicationDefinitionInner>() { + @Override + public ApplicationDefinitionInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates a new managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @param parameters Parameters supplied to the create or update a managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable> createOrUpdateByIdWithServiceResponseAsync(String applicationDefinitionId, ApplicationDefinitionInner parameters) { + if (applicationDefinitionId == null) { + throw new IllegalArgumentException("Parameter applicationDefinitionId is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + if (this.client.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."); + } + Validator.validate(parameters); + Observable> observable = service.createOrUpdateById(applicationDefinitionId, parameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()); + return client.getAzureClient().getPutOrPatchResultAsync(observable, new TypeToken() { }.getType()); + } + + /** + * Creates a new managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @param parameters Parameters supplied to the create or update a managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationDefinitionInner object if successful. + */ + public ApplicationDefinitionInner beginCreateOrUpdateById(String applicationDefinitionId, ApplicationDefinitionInner parameters) { + return beginCreateOrUpdateByIdWithServiceResponseAsync(applicationDefinitionId, parameters).toBlocking().single().body(); + } + + /** + * Creates a new managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @param parameters Parameters supplied to the create or update a managed application definition. + * @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 beginCreateOrUpdateByIdAsync(String applicationDefinitionId, ApplicationDefinitionInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(beginCreateOrUpdateByIdWithServiceResponseAsync(applicationDefinitionId, parameters), serviceCallback); + } + + /** + * Creates a new managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @param parameters Parameters supplied to the create or update a managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationDefinitionInner object + */ + public Observable beginCreateOrUpdateByIdAsync(String applicationDefinitionId, ApplicationDefinitionInner parameters) { + return beginCreateOrUpdateByIdWithServiceResponseAsync(applicationDefinitionId, parameters).map(new Func1, ApplicationDefinitionInner>() { + @Override + public ApplicationDefinitionInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates a new managed application definition. + * + * @param applicationDefinitionId The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + * @param parameters Parameters supplied to the create or update a managed application definition. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationDefinitionInner object + */ + public Observable> beginCreateOrUpdateByIdWithServiceResponseAsync(String applicationDefinitionId, ApplicationDefinitionInner parameters) { + if (applicationDefinitionId == null) { + throw new IllegalArgumentException("Parameter applicationDefinitionId is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + if (this.client.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."); + } + Validator.validate(parameters); + return service.beginCreateOrUpdateById(applicationDefinitionId, parameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = beginCreateOrUpdateByIdDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse beginCreateOrUpdateByIdDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .register(201, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Lists the managed application definitions in a resource group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException 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<ApplicationDefinitionInner> object if successful. + */ + public PagedList listByResourceGroupNext(final String nextPageLink) { + ServiceResponse> response = listByResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Lists the managed application definitions in a resource group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param serviceFuture the ServiceFuture object tracking the Retrofit calls + * @param serviceCallback the async ServiceCallback to handle successful and failed responses. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceFuture} object + */ + public ServiceFuture> listByResourceGroupNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listByResourceGroupNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Lists the managed application definitions in a resource group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<ApplicationDefinitionInner> object + */ + public Observable> listByResourceGroupNextAsync(final String nextPageLink) { + return listByResourceGroupNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Lists the managed application definitions in a resource group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<ApplicationDefinitionInner> object + */ + public Observable>> listByResourceGroupNextWithServiceResponseAsync(final String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink) + .concatMap(new Func1>, Observable>>>() { + @Override + public Observable>> call(ServiceResponse> page) { + String nextPageLink = page.body().nextPageLink(); + if (nextPageLink == null) { + return Observable.just(page); + } + return Observable.just(page).concatWith(listByResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Lists the managed application definitions in a resource group. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<ApplicationDefinitionInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listByResourceGroupNextSinglePageAsync(final String nextPageLink) { + if (nextPageLink == null) { + throw new IllegalArgumentException("Parameter nextPageLink is required and cannot be null."); + } + String nextUrl = String.format("%s", nextPageLink); + return service.listByResourceGroupNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listByResourceGroupNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listByResourceGroupNextDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationImpl.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationImpl.java new file mode 100644 index 000000000000..005736b44262 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationImpl.java @@ -0,0 +1,213 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.microsoft.azure.arm.resources.models.implementation.GroupableResourceCoreImpl; +import com.microsoft.azure.management.managedapplications.v2019_07_01.Application; +import rx.Observable; +import com.microsoft.azure.management.managedapplications.v2019_07_01.Sku; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ProvisioningState; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationBillingDetailsDefinition; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationJitAccessPolicy; +import java.util.List; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationAuthorization; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationManagementMode; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationPackageContact; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationPackageSupportUrls; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationArtifact; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationClientDetails; +import com.microsoft.azure.management.managedapplications.v2019_07_01.Plan; +import com.microsoft.azure.management.managedapplications.v2019_07_01.Identity; + +class ApplicationImpl extends GroupableResourceCoreImpl implements Application, Application.Definition, Application.Update { + ApplicationImpl(String name, ApplicationInner inner, ManagedApplicationsManager manager) { + super(name, inner, manager); + } + + @Override + public Observable createResourceAsync() { + ApplicationsInner client = this.manager().inner().applications(); + return client.createOrUpdateAsync(this.resourceGroupName(), this.name(), this.inner()) + .map(innerToFluentMap(this)); + } + + @Override + public Observable updateResourceAsync() { + ApplicationsInner client = this.manager().inner().applications(); + return client.updateAsync(this.resourceGroupName(), this.name(), this.inner()) + .map(innerToFluentMap(this)); + } + + @Override + protected Observable getInnerAsync() { + ApplicationsInner client = this.manager().inner().applications(); + return client.getByResourceGroupAsync(this.resourceGroupName(), this.name()); + } + + @Override + public boolean isInCreateMode() { + return this.inner().id() == null; + } + + + @Override + public String applicationDefinitionId() { + return this.inner().applicationDefinitionId(); + } + + @Override + public List artifacts() { + return this.inner().artifacts(); + } + + @Override + public List authorizations() { + return this.inner().authorizations(); + } + + @Override + public ApplicationBillingDetailsDefinition billingDetails() { + return this.inner().billingDetails(); + } + + @Override + public ApplicationClientDetails createdBy() { + return this.inner().createdBy(); + } + + @Override + public ApplicationPackageContact customerSupport() { + return this.inner().customerSupport(); + } + + @Override + public Identity identity() { + return this.inner().identity(); + } + + @Override + public ApplicationJitAccessPolicy jitAccessPolicy() { + return this.inner().jitAccessPolicy(); + } + + @Override + public String kind() { + return this.inner().kind(); + } + + @Override + public String managedBy() { + return this.inner().managedBy(); + } + + @Override + public String managedResourceGroupId() { + return this.inner().managedResourceGroupId(); + } + + @Override + public ApplicationManagementMode managementMode() { + return this.inner().managementMode(); + } + + @Override + public Object outputs() { + return this.inner().outputs(); + } + + @Override + public Object parameters() { + return this.inner().parameters(); + } + + @Override + public Plan plan() { + return this.inner().plan(); + } + + @Override + public ProvisioningState provisioningState() { + return this.inner().provisioningState(); + } + + @Override + public String publisherTenantId() { + return this.inner().publisherTenantId(); + } + + @Override + public Sku sku() { + return this.inner().sku(); + } + + @Override + public ApplicationPackageSupportUrls supportUrls() { + return this.inner().supportUrls(); + } + + @Override + public ApplicationClientDetails updatedBy() { + return this.inner().updatedBy(); + } + + @Override + public ApplicationImpl withKind(String kind) { + this.inner().withKind(kind); + return this; + } + + @Override + public ApplicationImpl withApplicationDefinitionId(String applicationDefinitionId) { + this.inner().withApplicationDefinitionId(applicationDefinitionId); + return this; + } + + @Override + public ApplicationImpl withIdentity(Identity identity) { + this.inner().withIdentity(identity); + return this; + } + + @Override + public ApplicationImpl withJitAccessPolicy(ApplicationJitAccessPolicy jitAccessPolicy) { + this.inner().withJitAccessPolicy(jitAccessPolicy); + return this; + } + + @Override + public ApplicationImpl withManagedBy(String managedBy) { + this.inner().withManagedBy(managedBy); + return this; + } + + @Override + public ApplicationImpl withManagedResourceGroupId(String managedResourceGroupId) { + this.inner().withManagedResourceGroupId(managedResourceGroupId); + return this; + } + + @Override + public ApplicationImpl withParameters(Object parameters) { + this.inner().withParameters(parameters); + return this; + } + + @Override + public ApplicationImpl withPlan(Plan plan) { + this.inner().withPlan(plan); + return this; + } + + @Override + public ApplicationImpl withSku(Sku sku) { + this.inner().withSku(sku); + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationInner.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationInner.java new file mode 100644 index 000000000000..32ba31280482 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationInner.java @@ -0,0 +1,387 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.microsoft.azure.management.managedapplications.v2019_07_01.ProvisioningState; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationBillingDetailsDefinition; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationJitAccessPolicy; +import java.util.List; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationAuthorization; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationManagementMode; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationPackageContact; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationPackageSupportUrls; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationArtifact; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationClientDetails; +import com.microsoft.azure.management.managedapplications.v2019_07_01.Plan; +import com.microsoft.azure.management.managedapplications.v2019_07_01.Identity; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.microsoft.rest.serializer.JsonFlatten; +import com.microsoft.azure.management.managedapplications.v2019_07_01.GenericResource; + +/** + * Information about managed application. + */ +@JsonFlatten +public class ApplicationInner extends GenericResource { + /** + * The managed resource group Id. + */ + @JsonProperty(value = "properties.managedResourceGroupId") + private String managedResourceGroupId; + + /** + * The fully qualified path of managed application definition Id. + */ + @JsonProperty(value = "properties.applicationDefinitionId") + private String applicationDefinitionId; + + /** + * Name and value pairs that define the managed application parameters. It + * can be a JObject or a well formed JSON string. + */ + @JsonProperty(value = "properties.parameters") + private Object parameters; + + /** + * Name and value pairs that define the managed application outputs. + */ + @JsonProperty(value = "properties.outputs", access = JsonProperty.Access.WRITE_ONLY) + private Object outputs; + + /** + * The managed application provisioning state. Possible values include: + * 'NotSpecified', 'Accepted', 'Running', 'Ready', 'Creating', 'Created', + * 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating'. + */ + @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY) + private ProvisioningState provisioningState; + + /** + * The managed application billing details. + */ + @JsonProperty(value = "properties.billingDetails", access = JsonProperty.Access.WRITE_ONLY) + private ApplicationBillingDetailsDefinition billingDetails; + + /** + * The managed application Jit access policy. + */ + @JsonProperty(value = "properties.jitAccessPolicy") + private ApplicationJitAccessPolicy jitAccessPolicy; + + /** + * The publisher tenant Id. + */ + @JsonProperty(value = "properties.publisherTenantId", access = JsonProperty.Access.WRITE_ONLY) + private String publisherTenantId; + + /** + * The read-only authorizations property that is retrieved from the + * application package. + */ + @JsonProperty(value = "properties.authorizations", access = JsonProperty.Access.WRITE_ONLY) + private List authorizations; + + /** + * The managed application management mode. Possible values include: + * 'NotSpecified', 'Unmanaged', 'Managed'. + */ + @JsonProperty(value = "properties.managementMode", access = JsonProperty.Access.WRITE_ONLY) + private ApplicationManagementMode managementMode; + + /** + * The read-only customer support property that is retrieved from the + * application package. + */ + @JsonProperty(value = "properties.customerSupport", access = JsonProperty.Access.WRITE_ONLY) + private ApplicationPackageContact customerSupport; + + /** + * The read-only support URLs property that is retrieved from the + * application package. + */ + @JsonProperty(value = "properties.supportUrls", access = JsonProperty.Access.WRITE_ONLY) + private ApplicationPackageSupportUrls supportUrls; + + /** + * The collection of managed application artifacts. + */ + @JsonProperty(value = "properties.artifacts", access = JsonProperty.Access.WRITE_ONLY) + private List artifacts; + + /** + * The client entity that created the JIT request. + */ + @JsonProperty(value = "properties.createdBy", access = JsonProperty.Access.WRITE_ONLY) + private ApplicationClientDetails createdBy; + + /** + * The client entity that last updated the JIT request. + */ + @JsonProperty(value = "properties.updatedBy", access = JsonProperty.Access.WRITE_ONLY) + private ApplicationClientDetails updatedBy; + + /** + * The plan information. + */ + @JsonProperty(value = "plan") + private Plan plan; + + /** + * The kind of the managed application. Allowed values are MarketPlace and + * ServiceCatalog. + */ + @JsonProperty(value = "kind", required = true) + private String kind; + + /** + * The identity of the resource. + */ + @JsonProperty(value = "identity") + private Identity identity; + + /** + * Get the managed resource group Id. + * + * @return the managedResourceGroupId value + */ + public String managedResourceGroupId() { + return this.managedResourceGroupId; + } + + /** + * Set the managed resource group Id. + * + * @param managedResourceGroupId the managedResourceGroupId value to set + * @return the ApplicationInner object itself. + */ + public ApplicationInner withManagedResourceGroupId(String managedResourceGroupId) { + this.managedResourceGroupId = managedResourceGroupId; + return this; + } + + /** + * Get the fully qualified path of managed application definition Id. + * + * @return the applicationDefinitionId value + */ + public String applicationDefinitionId() { + return this.applicationDefinitionId; + } + + /** + * Set the fully qualified path of managed application definition Id. + * + * @param applicationDefinitionId the applicationDefinitionId value to set + * @return the ApplicationInner object itself. + */ + public ApplicationInner withApplicationDefinitionId(String applicationDefinitionId) { + this.applicationDefinitionId = applicationDefinitionId; + return this; + } + + /** + * Get name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string. + * + * @return the parameters value + */ + public Object parameters() { + return this.parameters; + } + + /** + * Set name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string. + * + * @param parameters the parameters value to set + * @return the ApplicationInner object itself. + */ + public ApplicationInner withParameters(Object parameters) { + this.parameters = parameters; + return this; + } + + /** + * Get name and value pairs that define the managed application outputs. + * + * @return the outputs value + */ + public Object outputs() { + return this.outputs; + } + + /** + * Get the managed application provisioning state. Possible values include: 'NotSpecified', 'Accepted', 'Running', 'Ready', 'Creating', 'Created', 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating'. + * + * @return the provisioningState value + */ + public ProvisioningState provisioningState() { + return this.provisioningState; + } + + /** + * Get the managed application billing details. + * + * @return the billingDetails value + */ + public ApplicationBillingDetailsDefinition billingDetails() { + return this.billingDetails; + } + + /** + * Get the managed application Jit access policy. + * + * @return the jitAccessPolicy value + */ + public ApplicationJitAccessPolicy jitAccessPolicy() { + return this.jitAccessPolicy; + } + + /** + * Set the managed application Jit access policy. + * + * @param jitAccessPolicy the jitAccessPolicy value to set + * @return the ApplicationInner object itself. + */ + public ApplicationInner withJitAccessPolicy(ApplicationJitAccessPolicy jitAccessPolicy) { + this.jitAccessPolicy = jitAccessPolicy; + return this; + } + + /** + * Get the publisher tenant Id. + * + * @return the publisherTenantId value + */ + public String publisherTenantId() { + return this.publisherTenantId; + } + + /** + * Get the read-only authorizations property that is retrieved from the application package. + * + * @return the authorizations value + */ + public List authorizations() { + return this.authorizations; + } + + /** + * Get the managed application management mode. Possible values include: 'NotSpecified', 'Unmanaged', 'Managed'. + * + * @return the managementMode value + */ + public ApplicationManagementMode managementMode() { + return this.managementMode; + } + + /** + * Get the read-only customer support property that is retrieved from the application package. + * + * @return the customerSupport value + */ + public ApplicationPackageContact customerSupport() { + return this.customerSupport; + } + + /** + * Get the read-only support URLs property that is retrieved from the application package. + * + * @return the supportUrls value + */ + public ApplicationPackageSupportUrls supportUrls() { + return this.supportUrls; + } + + /** + * Get the collection of managed application artifacts. + * + * @return the artifacts value + */ + public List artifacts() { + return this.artifacts; + } + + /** + * Get the client entity that created the JIT request. + * + * @return the createdBy value + */ + public ApplicationClientDetails createdBy() { + return this.createdBy; + } + + /** + * Get the client entity that last updated the JIT request. + * + * @return the updatedBy value + */ + public ApplicationClientDetails updatedBy() { + return this.updatedBy; + } + + /** + * Get the plan information. + * + * @return the plan value + */ + public Plan plan() { + return this.plan; + } + + /** + * Set the plan information. + * + * @param plan the plan value to set + * @return the ApplicationInner object itself. + */ + public ApplicationInner withPlan(Plan plan) { + this.plan = plan; + return this; + } + + /** + * Get the kind of the managed application. Allowed values are MarketPlace and ServiceCatalog. + * + * @return the kind value + */ + public String kind() { + return this.kind; + } + + /** + * Set the kind of the managed application. Allowed values are MarketPlace and ServiceCatalog. + * + * @param kind the kind value to set + * @return the ApplicationInner object itself. + */ + public ApplicationInner withKind(String kind) { + this.kind = kind; + return this; + } + + /** + * Get the identity of the resource. + * + * @return the identity value + */ + public Identity identity() { + return this.identity; + } + + /** + * Set the identity of the resource. + * + * @param identity the identity value to set + * @return the ApplicationInner object itself. + */ + public ApplicationInner withIdentity(Identity identity) { + this.identity = identity; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationsImpl.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationsImpl.java new file mode 100644 index 000000000000..25dc9df999e0 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationsImpl.java @@ -0,0 +1,186 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * def + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.microsoft.azure.arm.resources.collection.implementation.GroupableResourcesCoreImpl; +import com.microsoft.azure.management.managedapplications.v2019_07_01.Applications; +import com.microsoft.azure.management.managedapplications.v2019_07_01.Application; +import rx.Observable; +import rx.Completable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import com.microsoft.azure.arm.resources.ResourceUtilsCore; +import com.microsoft.azure.arm.utils.RXMapper; +import rx.functions.Func1; +import com.microsoft.azure.PagedList; +import com.microsoft.azure.Page; + +class ApplicationsImpl extends GroupableResourcesCoreImpl implements Applications { + protected ApplicationsImpl(ManagedApplicationsManager manager) { + super(manager.inner().applications(), manager); + } + + @Override + protected Observable getInnerAsync(String resourceGroupName, String name) { + ApplicationsInner client = this.inner(); + return client.getByResourceGroupAsync(resourceGroupName, name); + } + + @Override + protected Completable deleteInnerAsync(String resourceGroupName, String name) { + ApplicationsInner client = this.inner(); + return client.deleteAsync(resourceGroupName, name).toCompletable(); + } + + @Override + public Observable deleteByIdsAsync(Collection ids) { + if (ids == null || ids.isEmpty()) { + return Observable.empty(); + } + Collection> observables = new ArrayList<>(); + for (String id : ids) { + final String resourceGroupName = ResourceUtilsCore.groupFromResourceId(id); + final String name = ResourceUtilsCore.nameFromResourceId(id); + Observable o = RXMapper.map(this.inner().deleteAsync(resourceGroupName, name), id); + observables.add(o); + } + return Observable.mergeDelayError(observables); + } + + @Override + public Observable deleteByIdsAsync(String...ids) { + return this.deleteByIdsAsync(new ArrayList(Arrays.asList(ids))); + } + + @Override + public void deleteByIds(Collection ids) { + if (ids != null && !ids.isEmpty()) { + this.deleteByIdsAsync(ids).toBlocking().last(); + } + } + + @Override + public void deleteByIds(String...ids) { + this.deleteByIds(new ArrayList(Arrays.asList(ids))); + } + + @Override + public PagedList listByResourceGroup(String resourceGroupName) { + ApplicationsInner client = this.inner(); + return this.wrapList(client.listByResourceGroup(resourceGroupName)); + } + + @Override + public Observable listByResourceGroupAsync(String resourceGroupName) { + ApplicationsInner client = this.inner(); + return client.listByResourceGroupAsync(resourceGroupName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public Application call(ApplicationInner inner) { + return wrapModel(inner); + } + }); + } + + @Override + public PagedList list() { + ApplicationsInner client = this.inner(); + return this.wrapList(client.list()); + } + + @Override + public Observable listAsync() { + ApplicationsInner client = this.inner(); + return client.listAsync() + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public Application call(ApplicationInner inner) { + return wrapModel(inner); + } + }); + } + + @Override + public ApplicationImpl define(String name) { + return wrapModel(name); + } + + @Override + public Observable getByIdAsync(String applicationId) { + ApplicationsInner client = this.inner(); + return client.getByIdAsync(applicationId) + .map(new Func1() { + @Override + public Application call(ApplicationInner inner) { + return new ApplicationImpl(inner.name(), inner, manager()); + } + }); + } + + @Override + public Completable deleteByIdAsync(String applicationId) { + ApplicationsInner client = this.inner(); + return client.deleteByIdAsync(applicationId).toCompletable(); + } + + @Override + public Observable createOrUpdateByIdAsync(String applicationId, ApplicationInner parameters) { + ApplicationsInner client = this.inner(); + return client.createOrUpdateByIdAsync(applicationId, parameters) + .map(new Func1() { + @Override + public Application call(ApplicationInner inner) { + return new ApplicationImpl(inner.name(), inner, manager()); + } + }); + } + + @Override + public Observable updateByIdAsync(String applicationId) { + ApplicationsInner client = this.inner(); + return client.updateByIdAsync(applicationId) + .map(new Func1() { + @Override + public Application call(ApplicationInner inner) { + return new ApplicationImpl(inner.name(), inner, manager()); + } + }); + } + + @Override + public Completable refreshPermissionsAsync(String resourceGroupName, String applicationName) { + ApplicationsInner client = this.inner(); + return client.refreshPermissionsAsync(resourceGroupName, applicationName).toCompletable(); + } + + @Override + protected ApplicationImpl wrapModel(ApplicationInner inner) { + return new ApplicationImpl(inner.name(), inner, manager()); + } + + @Override + protected ApplicationImpl wrapModel(String name) { + return new ApplicationImpl(name, new ApplicationInner(), this.manager()); + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationsInner.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationsInner.java new file mode 100644 index 000000000000..38085e320de5 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ApplicationsInner.java @@ -0,0 +1,1836 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.microsoft.azure.arm.collection.InnerSupportsGet; +import com.microsoft.azure.arm.collection.InnerSupportsDelete; +import com.microsoft.azure.arm.collection.InnerSupportsListing; +import retrofit2.Retrofit; +import com.google.common.reflect.TypeToken; +import com.microsoft.azure.AzureServiceFuture; +import com.microsoft.azure.ListOperationCallback; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ErrorResponseException; +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 com.microsoft.rest.Validator; +import java.io.IOException; +import java.util.List; +import okhttp3.ResponseBody; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.HTTP; +import retrofit2.http.PATCH; +import retrofit2.http.Path; +import retrofit2.http.POST; +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 Applications. + */ +public class ApplicationsInner implements InnerSupportsGet, InnerSupportsDelete, InnerSupportsListing { + /** The Retrofit service to perform REST calls. */ + private ApplicationsService service; + /** The service client containing this operation class. */ + private ApplicationClientImpl client; + + /** + * Initializes an instance of ApplicationsInner. + * + * @param retrofit the Retrofit instance built from a Retrofit Builder. + * @param client the instance of the service client containing this operation class. + */ + public ApplicationsInner(Retrofit retrofit, ApplicationClientImpl client) { + this.service = retrofit.create(ApplicationsService.class); + this.client = client; + } + + /** + * The interface defining all the services for Applications to be + * used by Retrofit to perform actually REST calls. + */ + interface ApplicationsService { + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.managedapplications.v2019_07_01.Applications getByResourceGroup" }) + @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}") + Observable> getByResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("applicationName") String applicationName, @Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.Applications delete" }) + @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}", method = "DELETE", hasBody = true) + Observable> delete(@Path("resourceGroupName") String resourceGroupName, @Path("applicationName") String applicationName, @Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.Applications beginDelete" }) + @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}", method = "DELETE", hasBody = true) + Observable> beginDelete(@Path("resourceGroupName") String resourceGroupName, @Path("applicationName") String applicationName, @Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.Applications createOrUpdate" }) + @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}") + Observable> createOrUpdate(@Path("resourceGroupName") String resourceGroupName, @Path("applicationName") String applicationName, @Path("subscriptionId") String subscriptionId, @Body ApplicationInner parameters, @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.managedapplications.v2019_07_01.Applications beginCreateOrUpdate" }) + @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}") + Observable> beginCreateOrUpdate(@Path("resourceGroupName") String resourceGroupName, @Path("applicationName") String applicationName, @Path("subscriptionId") String subscriptionId, @Body ApplicationInner parameters, @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.managedapplications.v2019_07_01.Applications update" }) + @PATCH("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}") + Observable> update(@Path("resourceGroupName") String resourceGroupName, @Path("applicationName") String applicationName, @Path("subscriptionId") String subscriptionId, @Body ApplicationInner parameters, @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.managedapplications.v2019_07_01.Applications listByResourceGroup" }) + @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications") + Observable> listByResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.Applications list" }) + @GET("subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications") + Observable> list(@Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.Applications getById" }) + @GET("{applicationId}") + Observable> getById(@Path(value = "applicationId", encoded = true) String applicationId, @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.managedapplications.v2019_07_01.Applications deleteById" }) + @HTTP(path = "{applicationId}", method = "DELETE", hasBody = true) + Observable> deleteById(@Path(value = "applicationId", encoded = true) String applicationId, @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.managedapplications.v2019_07_01.Applications beginDeleteById" }) + @HTTP(path = "{applicationId}", method = "DELETE", hasBody = true) + Observable> beginDeleteById(@Path(value = "applicationId", encoded = true) String applicationId, @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.managedapplications.v2019_07_01.Applications createOrUpdateById" }) + @PUT("{applicationId}") + Observable> createOrUpdateById(@Path(value = "applicationId", encoded = true) String applicationId, @Body ApplicationInner parameters, @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.managedapplications.v2019_07_01.Applications beginCreateOrUpdateById" }) + @PUT("{applicationId}") + Observable> beginCreateOrUpdateById(@Path(value = "applicationId", encoded = true) String applicationId, @Body ApplicationInner parameters, @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.managedapplications.v2019_07_01.Applications updateById" }) + @PATCH("{applicationId}") + Observable> updateById(@Path(value = "applicationId", encoded = true) String applicationId, @Body ApplicationInner parameters, @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.managedapplications.v2019_07_01.Applications refreshPermissions" }) + @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/refreshPermissions") + Observable> refreshPermissions(@Path("resourceGroupName") String resourceGroupName, @Path("applicationName") String applicationName, @Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.Applications beginRefreshPermissions" }) + @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/refreshPermissions") + Observable> beginRefreshPermissions(@Path("resourceGroupName") String resourceGroupName, @Path("applicationName") String applicationName, @Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.Applications listByResourceGroupNext" }) + @GET + Observable> listByResourceGroupNext(@Url String nextUrl, @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.managedapplications.v2019_07_01.Applications listNext" }) + @GET + Observable> listNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent); + + } + + /** + * Gets the managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationInner object if successful. + */ + public ApplicationInner getByResourceGroup(String resourceGroupName, String applicationName) { + return getByResourceGroupWithServiceResponseAsync(resourceGroupName, applicationName).toBlocking().single().body(); + } + + /** + * Gets the managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @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 getByResourceGroupAsync(String resourceGroupName, String applicationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(getByResourceGroupWithServiceResponseAsync(resourceGroupName, applicationName), serviceCallback); + } + + /** + * Gets the managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable getByResourceGroupAsync(String resourceGroupName, String applicationName) { + return getByResourceGroupWithServiceResponseAsync(resourceGroupName, applicationName).map(new Func1, ApplicationInner>() { + @Override + public ApplicationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Gets the managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable> getByResourceGroupWithServiceResponseAsync(String resourceGroupName, String applicationName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationName == null) { + throw new IllegalArgumentException("Parameter applicationName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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.getByResourceGroup(resourceGroupName, applicationName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = getByResourceGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse getByResourceGroupDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Deletes the managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException 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 applicationName) { + deleteWithServiceResponseAsync(resourceGroupName, applicationName).toBlocking().last().body(); + } + + /** + * Deletes the managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @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 applicationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(deleteWithServiceResponseAsync(resourceGroupName, applicationName), serviceCallback); + } + + /** + * Deletes the managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable deleteAsync(String resourceGroupName, String applicationName) { + return deleteWithServiceResponseAsync(resourceGroupName, applicationName).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Deletes the managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable> deleteWithServiceResponseAsync(String resourceGroupName, String applicationName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationName == null) { + throw new IllegalArgumentException("Parameter applicationName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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(resourceGroupName, applicationName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()); + return client.getAzureClient().getPostOrDeleteResultAsync(observable, new TypeToken() { }.getType()); + } + + /** + * Deletes the managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException 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 applicationName) { + beginDeleteWithServiceResponseAsync(resourceGroupName, applicationName).toBlocking().single().body(); + } + + /** + * Deletes the managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @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 applicationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(beginDeleteWithServiceResponseAsync(resourceGroupName, applicationName), serviceCallback); + } + + /** + * Deletes the managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable beginDeleteAsync(String resourceGroupName, String applicationName) { + return beginDeleteWithServiceResponseAsync(resourceGroupName, applicationName).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Deletes the managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable> beginDeleteWithServiceResponseAsync(String resourceGroupName, String applicationName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationName == null) { + throw new IllegalArgumentException("Parameter applicationName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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(resourceGroupName, applicationName, this.client.subscriptionId(), 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 ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(202, new TypeToken() { }.getType()) + .register(204, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Creates a new managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @param parameters Parameters supplied to the create or update a managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationInner object if successful. + */ + public ApplicationInner createOrUpdate(String resourceGroupName, String applicationName, ApplicationInner parameters) { + return createOrUpdateWithServiceResponseAsync(resourceGroupName, applicationName, parameters).toBlocking().last().body(); + } + + /** + * Creates a new managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @param parameters Parameters supplied to the create or update a managed application. + * @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 applicationName, ApplicationInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(createOrUpdateWithServiceResponseAsync(resourceGroupName, applicationName, parameters), serviceCallback); + } + + /** + * Creates a new managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @param parameters Parameters supplied to the create or update a managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable createOrUpdateAsync(String resourceGroupName, String applicationName, ApplicationInner parameters) { + return createOrUpdateWithServiceResponseAsync(resourceGroupName, applicationName, parameters).map(new Func1, ApplicationInner>() { + @Override + public ApplicationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates a new managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @param parameters Parameters supplied to the create or update a managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable> createOrUpdateWithServiceResponseAsync(String resourceGroupName, String applicationName, ApplicationInner parameters) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationName == null) { + throw new IllegalArgumentException("Parameter applicationName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + if (this.client.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."); + } + Validator.validate(parameters); + Observable> observable = service.createOrUpdate(resourceGroupName, applicationName, this.client.subscriptionId(), parameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()); + return client.getAzureClient().getPutOrPatchResultAsync(observable, new TypeToken() { }.getType()); + } + + /** + * Creates a new managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @param parameters Parameters supplied to the create or update a managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationInner object if successful. + */ + public ApplicationInner beginCreateOrUpdate(String resourceGroupName, String applicationName, ApplicationInner parameters) { + return beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, applicationName, parameters).toBlocking().single().body(); + } + + /** + * Creates a new managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @param parameters Parameters supplied to the create or update a managed application. + * @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 applicationName, ApplicationInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, applicationName, parameters), serviceCallback); + } + + /** + * Creates a new managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @param parameters Parameters supplied to the create or update a managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable beginCreateOrUpdateAsync(String resourceGroupName, String applicationName, ApplicationInner parameters) { + return beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, applicationName, parameters).map(new Func1, ApplicationInner>() { + @Override + public ApplicationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates a new managed application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @param parameters Parameters supplied to the create or update a managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable> beginCreateOrUpdateWithServiceResponseAsync(String resourceGroupName, String applicationName, ApplicationInner parameters) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationName == null) { + throw new IllegalArgumentException("Parameter applicationName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + if (this.client.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."); + } + Validator.validate(parameters); + return service.beginCreateOrUpdate(resourceGroupName, applicationName, this.client.subscriptionId(), parameters, 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 ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .register(201, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationInner object if successful. + */ + public ApplicationInner update(String resourceGroupName, String applicationName) { + return updateWithServiceResponseAsync(resourceGroupName, applicationName).toBlocking().single().body(); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @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 updateAsync(String resourceGroupName, String applicationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(updateWithServiceResponseAsync(resourceGroupName, applicationName), serviceCallback); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable updateAsync(String resourceGroupName, String applicationName) { + return updateWithServiceResponseAsync(resourceGroupName, applicationName).map(new Func1, ApplicationInner>() { + @Override + public ApplicationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable> updateWithServiceResponseAsync(String resourceGroupName, String applicationName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationName == null) { + throw new IllegalArgumentException("Parameter applicationName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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 ApplicationInner parameters = null; + return service.update(resourceGroupName, applicationName, this.client.subscriptionId(), parameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = updateDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @param parameters Parameters supplied to update an existing managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationInner object if successful. + */ + public ApplicationInner update(String resourceGroupName, String applicationName, ApplicationInner parameters) { + return updateWithServiceResponseAsync(resourceGroupName, applicationName, parameters).toBlocking().single().body(); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @param parameters Parameters supplied to update an existing managed application. + * @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 updateAsync(String resourceGroupName, String applicationName, ApplicationInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(updateWithServiceResponseAsync(resourceGroupName, applicationName, parameters), serviceCallback); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @param parameters Parameters supplied to update an existing managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable updateAsync(String resourceGroupName, String applicationName, ApplicationInner parameters) { + return updateWithServiceResponseAsync(resourceGroupName, applicationName, parameters).map(new Func1, ApplicationInner>() { + @Override + public ApplicationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @param parameters Parameters supplied to update an existing managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable> updateWithServiceResponseAsync(String resourceGroupName, String applicationName, ApplicationInner parameters) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationName == null) { + throw new IllegalArgumentException("Parameter applicationName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null."); + } + if (this.client.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."); + } + Validator.validate(parameters); + return service.update(resourceGroupName, applicationName, this.client.subscriptionId(), parameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = updateDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse updateDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Gets all the applications within a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException 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<ApplicationInner> object if successful. + */ + public PagedList listByResourceGroup(final String resourceGroupName) { + ServiceResponse> response = listByResourceGroupSinglePageAsync(resourceGroupName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all the applications within a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @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> listByResourceGroupAsync(final String resourceGroupName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listByResourceGroupSinglePageAsync(resourceGroupName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all the applications within a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<ApplicationInner> object + */ + public Observable> listByResourceGroupAsync(final String resourceGroupName) { + return listByResourceGroupWithServiceResponseAsync(resourceGroupName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all the applications within a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<ApplicationInner> object + */ + public Observable>> listByResourceGroupWithServiceResponseAsync(final String resourceGroupName) { + return listByResourceGroupSinglePageAsync(resourceGroupName) + .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(listByResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all the applications within a resource group. + * + ServiceResponse> * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<ApplicationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listByResourceGroupSinglePageAsync(final String resourceGroupName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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.listByResourceGroup(resourceGroupName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listByResourceGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listByResourceGroupDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Gets all the applications within a subscription. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException 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<ApplicationInner> object if successful. + */ + public PagedList list() { + ServiceResponse> response = listSinglePageAsync().toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all the applications within a subscription. + * + * @param serviceCallback the async ServiceCallback to handle successful and failed responses. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceFuture} object + */ + public ServiceFuture> listAsync(final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listSinglePageAsync(), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all the applications within a subscription. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<ApplicationInner> object + */ + public Observable> listAsync() { + return listWithServiceResponseAsync() + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all the applications within a subscription. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<ApplicationInner> object + */ + public Observable>> listWithServiceResponseAsync() { + return listSinglePageAsync() + .concatMap(new Func1>, Observable>>>() { + @Override + public Observable>> call(ServiceResponse> page) { + String nextPageLink = page.body().nextPageLink(); + if (nextPageLink == null) { + return Observable.just(page); + } + return Observable.just(page).concatWith(listNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all the applications within a subscription. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<ApplicationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listSinglePageAsync() { + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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.list(this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Gets the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationInner object if successful. + */ + public ApplicationInner getById(String applicationId) { + return getByIdWithServiceResponseAsync(applicationId).toBlocking().single().body(); + } + + /** + * Gets the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-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 getByIdAsync(String applicationId, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(getByIdWithServiceResponseAsync(applicationId), serviceCallback); + } + + /** + * Gets the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable getByIdAsync(String applicationId) { + return getByIdWithServiceResponseAsync(applicationId).map(new Func1, ApplicationInner>() { + @Override + public ApplicationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Gets the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable> getByIdWithServiceResponseAsync(String applicationId) { + if (applicationId == null) { + throw new IllegalArgumentException("Parameter applicationId 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.getById(applicationId, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = getByIdDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse getByIdDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Deletes the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + */ + public void deleteById(String applicationId) { + deleteByIdWithServiceResponseAsync(applicationId).toBlocking().last().body(); + } + + /** + * Deletes the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-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 deleteByIdAsync(String applicationId, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(deleteByIdWithServiceResponseAsync(applicationId), serviceCallback); + } + + /** + * Deletes the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable deleteByIdAsync(String applicationId) { + return deleteByIdWithServiceResponseAsync(applicationId).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Deletes the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable> deleteByIdWithServiceResponseAsync(String applicationId) { + if (applicationId == null) { + throw new IllegalArgumentException("Parameter applicationId 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.deleteById(applicationId, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()); + return client.getAzureClient().getPostOrDeleteResultAsync(observable, new TypeToken() { }.getType()); + } + + /** + * Deletes the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + */ + public void beginDeleteById(String applicationId) { + beginDeleteByIdWithServiceResponseAsync(applicationId).toBlocking().single().body(); + } + + /** + * Deletes the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-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 beginDeleteByIdAsync(String applicationId, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(beginDeleteByIdWithServiceResponseAsync(applicationId), serviceCallback); + } + + /** + * Deletes the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable beginDeleteByIdAsync(String applicationId) { + return beginDeleteByIdWithServiceResponseAsync(applicationId).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Deletes the managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable> beginDeleteByIdWithServiceResponseAsync(String applicationId) { + if (applicationId == null) { + throw new IllegalArgumentException("Parameter applicationId 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.beginDeleteById(applicationId, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = beginDeleteByIdDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse beginDeleteByIdDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(202, new TypeToken() { }.getType()) + .register(204, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Creates a new managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @param parameters Parameters supplied to the create or update a managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationInner object if successful. + */ + public ApplicationInner createOrUpdateById(String applicationId, ApplicationInner parameters) { + return createOrUpdateByIdWithServiceResponseAsync(applicationId, parameters).toBlocking().last().body(); + } + + /** + * Creates a new managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @param parameters Parameters supplied to the create or update a managed application. + * @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 createOrUpdateByIdAsync(String applicationId, ApplicationInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(createOrUpdateByIdWithServiceResponseAsync(applicationId, parameters), serviceCallback); + } + + /** + * Creates a new managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @param parameters Parameters supplied to the create or update a managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable createOrUpdateByIdAsync(String applicationId, ApplicationInner parameters) { + return createOrUpdateByIdWithServiceResponseAsync(applicationId, parameters).map(new Func1, ApplicationInner>() { + @Override + public ApplicationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates a new managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @param parameters Parameters supplied to the create or update a managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable> createOrUpdateByIdWithServiceResponseAsync(String applicationId, ApplicationInner parameters) { + if (applicationId == null) { + throw new IllegalArgumentException("Parameter applicationId is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + if (this.client.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."); + } + Validator.validate(parameters); + Observable> observable = service.createOrUpdateById(applicationId, parameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()); + return client.getAzureClient().getPutOrPatchResultAsync(observable, new TypeToken() { }.getType()); + } + + /** + * Creates a new managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @param parameters Parameters supplied to the create or update a managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationInner object if successful. + */ + public ApplicationInner beginCreateOrUpdateById(String applicationId, ApplicationInner parameters) { + return beginCreateOrUpdateByIdWithServiceResponseAsync(applicationId, parameters).toBlocking().single().body(); + } + + /** + * Creates a new managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @param parameters Parameters supplied to the create or update a managed application. + * @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 beginCreateOrUpdateByIdAsync(String applicationId, ApplicationInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(beginCreateOrUpdateByIdWithServiceResponseAsync(applicationId, parameters), serviceCallback); + } + + /** + * Creates a new managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @param parameters Parameters supplied to the create or update a managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable beginCreateOrUpdateByIdAsync(String applicationId, ApplicationInner parameters) { + return beginCreateOrUpdateByIdWithServiceResponseAsync(applicationId, parameters).map(new Func1, ApplicationInner>() { + @Override + public ApplicationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates a new managed application. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @param parameters Parameters supplied to the create or update a managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable> beginCreateOrUpdateByIdWithServiceResponseAsync(String applicationId, ApplicationInner parameters) { + if (applicationId == null) { + throw new IllegalArgumentException("Parameter applicationId is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + if (this.client.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."); + } + Validator.validate(parameters); + return service.beginCreateOrUpdateById(applicationId, parameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = beginCreateOrUpdateByIdDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse beginCreateOrUpdateByIdDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .register(201, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationInner object if successful. + */ + public ApplicationInner updateById(String applicationId) { + return updateByIdWithServiceResponseAsync(applicationId).toBlocking().single().body(); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-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 updateByIdAsync(String applicationId, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(updateByIdWithServiceResponseAsync(applicationId), serviceCallback); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable updateByIdAsync(String applicationId) { + return updateByIdWithServiceResponseAsync(applicationId).map(new Func1, ApplicationInner>() { + @Override + public ApplicationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable> updateByIdWithServiceResponseAsync(String applicationId) { + if (applicationId == null) { + throw new IllegalArgumentException("Parameter applicationId 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 ApplicationInner parameters = null; + return service.updateById(applicationId, parameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = updateByIdDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @param parameters Parameters supplied to update an existing managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the ApplicationInner object if successful. + */ + public ApplicationInner updateById(String applicationId, ApplicationInner parameters) { + return updateByIdWithServiceResponseAsync(applicationId, parameters).toBlocking().single().body(); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @param parameters Parameters supplied to update an existing managed application. + * @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 updateByIdAsync(String applicationId, ApplicationInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(updateByIdWithServiceResponseAsync(applicationId, parameters), serviceCallback); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @param parameters Parameters supplied to update an existing managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable updateByIdAsync(String applicationId, ApplicationInner parameters) { + return updateByIdWithServiceResponseAsync(applicationId, parameters).map(new Func1, ApplicationInner>() { + @Override + public ApplicationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Updates an existing managed application. The only value that can be updated via PATCH currently is the tags. + * + * @param applicationId The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + * @param parameters Parameters supplied to update an existing managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the ApplicationInner object + */ + public Observable> updateByIdWithServiceResponseAsync(String applicationId, ApplicationInner parameters) { + if (applicationId == null) { + throw new IllegalArgumentException("Parameter applicationId is required and cannot be null."); + } + if (this.client.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."); + } + Validator.validate(parameters); + return service.updateById(applicationId, parameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = updateByIdDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse updateByIdDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Refresh Permissions for application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + */ + public void refreshPermissions(String resourceGroupName, String applicationName) { + refreshPermissionsWithServiceResponseAsync(resourceGroupName, applicationName).toBlocking().last().body(); + } + + /** + * Refresh Permissions for application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @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 refreshPermissionsAsync(String resourceGroupName, String applicationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(refreshPermissionsWithServiceResponseAsync(resourceGroupName, applicationName), serviceCallback); + } + + /** + * Refresh Permissions for application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable refreshPermissionsAsync(String resourceGroupName, String applicationName) { + return refreshPermissionsWithServiceResponseAsync(resourceGroupName, applicationName).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Refresh Permissions for application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable> refreshPermissionsWithServiceResponseAsync(String resourceGroupName, String applicationName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationName == null) { + throw new IllegalArgumentException("Parameter applicationName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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.refreshPermissions(resourceGroupName, applicationName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()); + return client.getAzureClient().getPostOrDeleteResultAsync(observable, new TypeToken() { }.getType()); + } + + /** + * Refresh Permissions for application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + */ + public void beginRefreshPermissions(String resourceGroupName, String applicationName) { + beginRefreshPermissionsWithServiceResponseAsync(resourceGroupName, applicationName).toBlocking().single().body(); + } + + /** + * Refresh Permissions for application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @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 beginRefreshPermissionsAsync(String resourceGroupName, String applicationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(beginRefreshPermissionsWithServiceResponseAsync(resourceGroupName, applicationName), serviceCallback); + } + + /** + * Refresh Permissions for application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable beginRefreshPermissionsAsync(String resourceGroupName, String applicationName) { + return beginRefreshPermissionsWithServiceResponseAsync(resourceGroupName, applicationName).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Refresh Permissions for application. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param applicationName The name of the managed application. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable> beginRefreshPermissionsWithServiceResponseAsync(String resourceGroupName, String applicationName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (applicationName == null) { + throw new IllegalArgumentException("Parameter applicationName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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.beginRefreshPermissions(resourceGroupName, applicationName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = beginRefreshPermissionsDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse beginRefreshPermissionsDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(202, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Gets all the applications within a resource group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException 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<ApplicationInner> object if successful. + */ + public PagedList listByResourceGroupNext(final String nextPageLink) { + ServiceResponse> response = listByResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all the applications within a resource group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param serviceFuture the ServiceFuture object tracking the Retrofit calls + * @param serviceCallback the async ServiceCallback to handle successful and failed responses. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceFuture} object + */ + public ServiceFuture> listByResourceGroupNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listByResourceGroupNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all the applications within a resource group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<ApplicationInner> object + */ + public Observable> listByResourceGroupNextAsync(final String nextPageLink) { + return listByResourceGroupNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all the applications within a resource group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<ApplicationInner> object + */ + public Observable>> listByResourceGroupNextWithServiceResponseAsync(final String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink) + .concatMap(new Func1>, Observable>>>() { + @Override + public Observable>> call(ServiceResponse> page) { + String nextPageLink = page.body().nextPageLink(); + if (nextPageLink == null) { + return Observable.just(page); + } + return Observable.just(page).concatWith(listByResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all the applications within a resource group. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<ApplicationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listByResourceGroupNextSinglePageAsync(final String nextPageLink) { + if (nextPageLink == null) { + throw new IllegalArgumentException("Parameter nextPageLink is required and cannot be null."); + } + String nextUrl = String.format("%s", nextPageLink); + return service.listByResourceGroupNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listByResourceGroupNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listByResourceGroupNextDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Gets all the applications within a subscription. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException 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<ApplicationInner> object if successful. + */ + public PagedList listNext(final String nextPageLink) { + ServiceResponse> response = listNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all the applications within a subscription. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param serviceFuture the ServiceFuture object tracking the Retrofit calls + * @param serviceCallback the async ServiceCallback to handle successful and failed responses. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceFuture} object + */ + public ServiceFuture> listNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all the applications within a subscription. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<ApplicationInner> object + */ + public Observable> listNextAsync(final String nextPageLink) { + return listNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all the applications within a subscription. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<ApplicationInner> object + */ + public Observable>> listNextWithServiceResponseAsync(final String nextPageLink) { + return listNextSinglePageAsync(nextPageLink) + .concatMap(new Func1>, Observable>>>() { + @Override + public Observable>> call(ServiceResponse> page) { + String nextPageLink = page.body().nextPageLink(); + if (nextPageLink == null) { + return Observable.just(page); + } + return Observable.just(page).concatWith(listNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all the applications within a subscription. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<ApplicationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listNextSinglePageAsync(final String nextPageLink) { + if (nextPageLink == null) { + throw new IllegalArgumentException("Parameter nextPageLink is required and cannot be null."); + } + String nextUrl = String.format("%s", nextPageLink); + return service.listNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listNextDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/IdParsingUtils.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/IdParsingUtils.java new file mode 100644 index 000000000000..ae0d835297c8 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/IdParsingUtils.java @@ -0,0 +1,57 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; +import java.util.Arrays; +import java.util.Iterator; + +class IdParsingUtils { + public static String getValueFromIdByName(String id, String name) { + if (id == null) { + return null; + } + Iterable iterable = Arrays.asList(id.split("/")); + Iterator itr = iterable.iterator(); + while (itr.hasNext()) { + String part = itr.next(); + if (part != null && part.trim() != "") { + if (part.equalsIgnoreCase(name)) { + if (itr.hasNext()) { + return itr.next(); + } else { + return null; + } + } + } + } + return null; + } + + public static String getValueFromIdByPosition(String id, int pos) { + if (id == null) { + return null; + } + Iterable iterable = Arrays.asList(id.split("/")); + Iterator itr = iterable.iterator(); + int index = 0; + while (itr.hasNext()) { + String part = itr.next(); + if (part != null && part.trim() != "") { + if (index == pos) { + if (itr.hasNext()) { + return itr.next(); + } else { + return null; + } + } + } + index++; + } + return null; + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/JitRequestDefinitionImpl.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/JitRequestDefinitionImpl.java new file mode 100644 index 000000000000..a73c85a8174b --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/JitRequestDefinitionImpl.java @@ -0,0 +1,110 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.microsoft.azure.arm.resources.models.implementation.GroupableResourceCoreImpl; +import com.microsoft.azure.management.managedapplications.v2019_07_01.JitRequestDefinition; +import rx.Observable; +import java.util.List; +import com.microsoft.azure.management.managedapplications.v2019_07_01.JitAuthorizationPolicies; +import com.microsoft.azure.management.managedapplications.v2019_07_01.JitSchedulingPolicy; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ProvisioningState; +import com.microsoft.azure.management.managedapplications.v2019_07_01.JitRequestState; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationClientDetails; + +class JitRequestDefinitionImpl extends GroupableResourceCoreImpl implements JitRequestDefinition, JitRequestDefinition.Definition, JitRequestDefinition.Update { + JitRequestDefinitionImpl(String name, JitRequestDefinitionInner inner, ManagedApplicationsManager manager) { + super(name, inner, manager); + } + + @Override + public Observable createResourceAsync() { + JitRequestsInner client = this.manager().inner().jitRequests(); + return client.createOrUpdateAsync(this.resourceGroupName(), this.name(), this.inner()) + .map(innerToFluentMap(this)); + } + + @Override + public Observable updateResourceAsync() { + JitRequestsInner client = this.manager().inner().jitRequests(); + return client.createOrUpdateAsync(this.resourceGroupName(), this.name(), this.inner()) + .map(innerToFluentMap(this)); + } + + @Override + protected Observable getInnerAsync() { + JitRequestsInner client = this.manager().inner().jitRequests(); + return client.getByResourceGroupAsync(this.resourceGroupName(), this.name()); + } + + @Override + public boolean isInCreateMode() { + return this.inner().id() == null; + } + + + @Override + public String applicationResourceId() { + return this.inner().applicationResourceId(); + } + + @Override + public ApplicationClientDetails createdBy() { + return this.inner().createdBy(); + } + + @Override + public List jitAuthorizationPolicies() { + return this.inner().jitAuthorizationPolicies(); + } + + @Override + public JitRequestState jitRequestState() { + return this.inner().jitRequestState(); + } + + @Override + public JitSchedulingPolicy jitSchedulingPolicy() { + return this.inner().jitSchedulingPolicy(); + } + + @Override + public ProvisioningState provisioningState() { + return this.inner().provisioningState(); + } + + @Override + public String publisherTenantId() { + return this.inner().publisherTenantId(); + } + + @Override + public ApplicationClientDetails updatedBy() { + return this.inner().updatedBy(); + } + + @Override + public JitRequestDefinitionImpl withApplicationResourceId(String applicationResourceId) { + this.inner().withApplicationResourceId(applicationResourceId); + return this; + } + + @Override + public JitRequestDefinitionImpl withJitAuthorizationPolicies(List jitAuthorizationPolicies) { + this.inner().withJitAuthorizationPolicies(jitAuthorizationPolicies); + return this; + } + + @Override + public JitRequestDefinitionImpl withJitSchedulingPolicy(JitSchedulingPolicy jitSchedulingPolicy) { + this.inner().withJitSchedulingPolicy(jitSchedulingPolicy); + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/JitRequestDefinitionInner.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/JitRequestDefinitionInner.java new file mode 100644 index 000000000000..4ff2817dbb54 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/JitRequestDefinitionInner.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.managedapplications.v2019_07_01.implementation; + +import java.util.List; +import com.microsoft.azure.management.managedapplications.v2019_07_01.JitAuthorizationPolicies; +import com.microsoft.azure.management.managedapplications.v2019_07_01.JitSchedulingPolicy; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ProvisioningState; +import com.microsoft.azure.management.managedapplications.v2019_07_01.JitRequestState; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationClientDetails; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.microsoft.rest.serializer.JsonFlatten; +import com.microsoft.rest.SkipParentValidation; +import com.microsoft.azure.Resource; + +/** + * Information about JIT request definition. + */ +@JsonFlatten +@SkipParentValidation +public class JitRequestDefinitionInner extends Resource { + /** + * The parent application id. + */ + @JsonProperty(value = "properties.applicationResourceId", required = true) + private String applicationResourceId; + + /** + * The publisher tenant id. + */ + @JsonProperty(value = "properties.publisherTenantId", access = JsonProperty.Access.WRITE_ONLY) + private String publisherTenantId; + + /** + * The JIT authorization policies. + */ + @JsonProperty(value = "properties.jitAuthorizationPolicies", required = true) + private List jitAuthorizationPolicies; + + /** + * The JIT request properties. + */ + @JsonProperty(value = "properties.jitSchedulingPolicy", required = true) + private JitSchedulingPolicy jitSchedulingPolicy; + + /** + * The JIT request provisioning state. Possible values include: + * 'NotSpecified', 'Accepted', 'Running', 'Ready', 'Creating', 'Created', + * 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating'. + */ + @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY) + private ProvisioningState provisioningState; + + /** + * The JIT request state. Possible values include: 'NotSpecified', + * 'Pending', 'Approved', 'Denied', 'Failed', 'Canceled', 'Expired', + * 'Timeout'. + */ + @JsonProperty(value = "properties.jitRequestState", access = JsonProperty.Access.WRITE_ONLY) + private JitRequestState jitRequestState; + + /** + * The client entity that created the JIT request. + */ + @JsonProperty(value = "properties.createdBy", access = JsonProperty.Access.WRITE_ONLY) + private ApplicationClientDetails createdBy; + + /** + * The client entity that last updated the JIT request. + */ + @JsonProperty(value = "properties.updatedBy", access = JsonProperty.Access.WRITE_ONLY) + private ApplicationClientDetails updatedBy; + + /** + * Get the parent application id. + * + * @return the applicationResourceId value + */ + public String applicationResourceId() { + return this.applicationResourceId; + } + + /** + * Set the parent application id. + * + * @param applicationResourceId the applicationResourceId value to set + * @return the JitRequestDefinitionInner object itself. + */ + public JitRequestDefinitionInner withApplicationResourceId(String applicationResourceId) { + this.applicationResourceId = applicationResourceId; + return this; + } + + /** + * Get the publisher tenant id. + * + * @return the publisherTenantId value + */ + public String publisherTenantId() { + return this.publisherTenantId; + } + + /** + * Get the JIT authorization policies. + * + * @return the jitAuthorizationPolicies value + */ + public List jitAuthorizationPolicies() { + return this.jitAuthorizationPolicies; + } + + /** + * Set the JIT authorization policies. + * + * @param jitAuthorizationPolicies the jitAuthorizationPolicies value to set + * @return the JitRequestDefinitionInner object itself. + */ + public JitRequestDefinitionInner withJitAuthorizationPolicies(List jitAuthorizationPolicies) { + this.jitAuthorizationPolicies = jitAuthorizationPolicies; + return this; + } + + /** + * Get the JIT request properties. + * + * @return the jitSchedulingPolicy value + */ + public JitSchedulingPolicy jitSchedulingPolicy() { + return this.jitSchedulingPolicy; + } + + /** + * Set the JIT request properties. + * + * @param jitSchedulingPolicy the jitSchedulingPolicy value to set + * @return the JitRequestDefinitionInner object itself. + */ + public JitRequestDefinitionInner withJitSchedulingPolicy(JitSchedulingPolicy jitSchedulingPolicy) { + this.jitSchedulingPolicy = jitSchedulingPolicy; + return this; + } + + /** + * Get the JIT request provisioning state. Possible values include: 'NotSpecified', 'Accepted', 'Running', 'Ready', 'Creating', 'Created', 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating'. + * + * @return the provisioningState value + */ + public ProvisioningState provisioningState() { + return this.provisioningState; + } + + /** + * Get the JIT request state. Possible values include: 'NotSpecified', 'Pending', 'Approved', 'Denied', 'Failed', 'Canceled', 'Expired', 'Timeout'. + * + * @return the jitRequestState value + */ + public JitRequestState jitRequestState() { + return this.jitRequestState; + } + + /** + * Get the client entity that created the JIT request. + * + * @return the createdBy value + */ + public ApplicationClientDetails createdBy() { + return this.createdBy; + } + + /** + * Get the client entity that last updated the JIT request. + * + * @return the updatedBy value + */ + public ApplicationClientDetails updatedBy() { + return this.updatedBy; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/JitRequestsImpl.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/JitRequestsImpl.java new file mode 100644 index 000000000000..919a16dad1df --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/JitRequestsImpl.java @@ -0,0 +1,138 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * def + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.microsoft.azure.arm.resources.collection.implementation.GroupableResourcesCoreImpl; +import com.microsoft.azure.management.managedapplications.v2019_07_01.JitRequests; +import com.microsoft.azure.management.managedapplications.v2019_07_01.JitRequestDefinition; +import rx.Observable; +import rx.Completable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import com.microsoft.azure.arm.resources.ResourceUtilsCore; +import com.microsoft.azure.arm.utils.RXMapper; +import rx.functions.Func1; +import com.microsoft.azure.PagedList; +import com.microsoft.azure.Page; + +class JitRequestsImpl extends GroupableResourcesCoreImpl implements JitRequests { + protected JitRequestsImpl(ManagedApplicationsManager manager) { + super(manager.inner().jitRequests(), manager); + } + + @Override + protected Observable getInnerAsync(String resourceGroupName, String name) { + JitRequestsInner client = this.inner(); + return client.getByResourceGroupAsync(resourceGroupName, name); + } + + @Override + protected Completable deleteInnerAsync(String resourceGroupName, String name) { + JitRequestsInner client = this.inner(); + return client.deleteAsync(resourceGroupName, name).toCompletable(); + } + + @Override + public Observable deleteByIdsAsync(Collection ids) { + if (ids == null || ids.isEmpty()) { + return Observable.empty(); + } + Collection> observables = new ArrayList<>(); + for (String id : ids) { + final String resourceGroupName = ResourceUtilsCore.groupFromResourceId(id); + final String name = ResourceUtilsCore.nameFromResourceId(id); + Observable o = RXMapper.map(this.inner().deleteAsync(resourceGroupName, name), id); + observables.add(o); + } + return Observable.mergeDelayError(observables); + } + + @Override + public Observable deleteByIdsAsync(String...ids) { + return this.deleteByIdsAsync(new ArrayList(Arrays.asList(ids))); + } + + @Override + public void deleteByIds(Collection ids) { + if (ids != null && !ids.isEmpty()) { + this.deleteByIdsAsync(ids).toBlocking().last(); + } + } + + @Override + public void deleteByIds(String...ids) { + this.deleteByIds(new ArrayList(Arrays.asList(ids))); + } + + @Override + public PagedList listByResourceGroup(String resourceGroupName) { + JitRequestsInner client = this.inner(); + return this.wrapList(client.listByResourceGroup(resourceGroupName)); + } + + @Override + public Observable listByResourceGroupAsync(String resourceGroupName) { + JitRequestsInner client = this.inner(); + return client.listByResourceGroupAsync(resourceGroupName) + .flatMap(new Func1, Observable>() { + @Override + public Observable call(Page innerPage) { + return Observable.from(innerPage.items()); + } + }) + .map(new Func1() { + @Override + public JitRequestDefinition call(JitRequestDefinitionInner inner) { + return wrapModel(inner); + } + }); + } + + @Override + public PagedList list() { + JitRequestsInner client = this.inner(); + return this.wrapList(client.list()); + } + + @Override + public Observable listAsync() { + JitRequestsInner client = this.inner(); + return client.listAsync() + .flatMap(new Func1, Observable>() { + @Override + public Observable call(Page innerPage) { + return Observable.from(innerPage.items()); + } + }) + .map(new Func1() { + @Override + public JitRequestDefinition call(JitRequestDefinitionInner inner) { + return wrapModel(inner); + } + }); + } + + @Override + public JitRequestDefinitionImpl define(String name) { + return wrapModel(name); + } + + @Override + protected JitRequestDefinitionImpl wrapModel(JitRequestDefinitionInner inner) { + return new JitRequestDefinitionImpl(inner.name(), inner, manager()); + } + + @Override + protected JitRequestDefinitionImpl wrapModel(String name) { + return new JitRequestDefinitionImpl(name, new JitRequestDefinitionInner(), this.manager()); + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/JitRequestsInner.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/JitRequestsInner.java new file mode 100644 index 000000000000..122990732d8d --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/JitRequestsInner.java @@ -0,0 +1,785 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.microsoft.azure.arm.collection.InnerSupportsGet; +import com.microsoft.azure.arm.collection.InnerSupportsDelete; +import com.microsoft.azure.arm.collection.InnerSupportsListing; +import retrofit2.Retrofit; +import com.google.common.reflect.TypeToken; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ErrorResponseException; +import com.microsoft.azure.management.managedapplications.v2019_07_01.JitRequestPatchable; +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 com.microsoft.rest.Validator; +import java.io.IOException; +import java.util.List; +import java.util.Map; +import okhttp3.ResponseBody; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.HTTP; +import retrofit2.http.PATCH; +import retrofit2.http.Path; +import retrofit2.http.PUT; +import retrofit2.http.Query; +import retrofit2.Response; +import rx.functions.Func1; +import rx.Observable; + +/** + * An instance of this class provides access to all the operations defined + * in JitRequests. + */ +public class JitRequestsInner implements InnerSupportsGet, InnerSupportsDelete, InnerSupportsListing { + /** The Retrofit service to perform REST calls. */ + private JitRequestsService service; + /** The service client containing this operation class. */ + private ApplicationClientImpl client; + + /** + * Initializes an instance of JitRequestsInner. + * + * @param retrofit the Retrofit instance built from a Retrofit Builder. + * @param client the instance of the service client containing this operation class. + */ + public JitRequestsInner(Retrofit retrofit, ApplicationClientImpl client) { + this.service = retrofit.create(JitRequestsService.class); + this.client = client; + } + + /** + * The interface defining all the services for JitRequests to be + * used by Retrofit to perform actually REST calls. + */ + interface JitRequestsService { + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.managedapplications.v2019_07_01.JitRequests getByResourceGroup" }) + @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}") + Observable> getByResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("jitRequestName") String jitRequestName, @Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.JitRequests createOrUpdate" }) + @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}") + Observable> createOrUpdate(@Path("resourceGroupName") String resourceGroupName, @Path("jitRequestName") String jitRequestName, @Path("subscriptionId") String subscriptionId, @Body JitRequestDefinitionInner parameters, @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.managedapplications.v2019_07_01.JitRequests beginCreateOrUpdate" }) + @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}") + Observable> beginCreateOrUpdate(@Path("resourceGroupName") String resourceGroupName, @Path("jitRequestName") String jitRequestName, @Path("subscriptionId") String subscriptionId, @Body JitRequestDefinitionInner parameters, @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.managedapplications.v2019_07_01.JitRequests update" }) + @PATCH("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}") + Observable> update(@Path("resourceGroupName") String resourceGroupName, @Path("jitRequestName") String jitRequestName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Body JitRequestPatchable parameters, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.managedapplications.v2019_07_01.JitRequests delete" }) + @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}", method = "DELETE", hasBody = true) + Observable> delete(@Path("resourceGroupName") String resourceGroupName, @Path("jitRequestName") String jitRequestName, @Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.JitRequests list" }) + @GET("subscriptions/{subscriptionId}/providers/Microsoft.Solutions/jitRequests") + Observable> list(@Path("subscriptionId") String subscriptionId, @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.managedapplications.v2019_07_01.JitRequests listByResourceGroup" }) + @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests") + Observable> listByResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent); + + } + + /** + * Gets the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the JitRequestDefinitionInner object if successful. + */ + public JitRequestDefinitionInner getByResourceGroup(String resourceGroupName, String jitRequestName) { + return getByResourceGroupWithServiceResponseAsync(resourceGroupName, jitRequestName).toBlocking().single().body(); + } + + /** + * Gets the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @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 getByResourceGroupAsync(String resourceGroupName, String jitRequestName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(getByResourceGroupWithServiceResponseAsync(resourceGroupName, jitRequestName), serviceCallback); + } + + /** + * Gets the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the JitRequestDefinitionInner object + */ + public Observable getByResourceGroupAsync(String resourceGroupName, String jitRequestName) { + return getByResourceGroupWithServiceResponseAsync(resourceGroupName, jitRequestName).map(new Func1, JitRequestDefinitionInner>() { + @Override + public JitRequestDefinitionInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Gets the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the JitRequestDefinitionInner object + */ + public Observable> getByResourceGroupWithServiceResponseAsync(String resourceGroupName, String jitRequestName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (jitRequestName == null) { + throw new IllegalArgumentException("Parameter jitRequestName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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.getByResourceGroup(resourceGroupName, jitRequestName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = getByResourceGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse getByResourceGroupDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Creates or updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @param parameters Parameters supplied to the update JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the JitRequestDefinitionInner object if successful. + */ + public JitRequestDefinitionInner createOrUpdate(String resourceGroupName, String jitRequestName, JitRequestDefinitionInner parameters) { + return createOrUpdateWithServiceResponseAsync(resourceGroupName, jitRequestName, parameters).toBlocking().last().body(); + } + + /** + * Creates or updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @param parameters Parameters supplied to the update JIT request. + * @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 jitRequestName, JitRequestDefinitionInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(createOrUpdateWithServiceResponseAsync(resourceGroupName, jitRequestName, parameters), serviceCallback); + } + + /** + * Creates or updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @param parameters Parameters supplied to the update JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable createOrUpdateAsync(String resourceGroupName, String jitRequestName, JitRequestDefinitionInner parameters) { + return createOrUpdateWithServiceResponseAsync(resourceGroupName, jitRequestName, parameters).map(new Func1, JitRequestDefinitionInner>() { + @Override + public JitRequestDefinitionInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates or updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @param parameters Parameters supplied to the update JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable> createOrUpdateWithServiceResponseAsync(String resourceGroupName, String jitRequestName, JitRequestDefinitionInner parameters) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (jitRequestName == null) { + throw new IllegalArgumentException("Parameter jitRequestName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + if (this.client.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."); + } + Validator.validate(parameters); + Observable> observable = service.createOrUpdate(resourceGroupName, jitRequestName, this.client.subscriptionId(), parameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()); + return client.getAzureClient().getPutOrPatchResultAsync(observable, new TypeToken() { }.getType()); + } + + /** + * Creates or updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @param parameters Parameters supplied to the update JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the JitRequestDefinitionInner object if successful. + */ + public JitRequestDefinitionInner beginCreateOrUpdate(String resourceGroupName, String jitRequestName, JitRequestDefinitionInner parameters) { + return beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, jitRequestName, parameters).toBlocking().single().body(); + } + + /** + * Creates or updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @param parameters Parameters supplied to the update JIT request. + * @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 jitRequestName, JitRequestDefinitionInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, jitRequestName, parameters), serviceCallback); + } + + /** + * Creates or updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @param parameters Parameters supplied to the update JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the JitRequestDefinitionInner object + */ + public Observable beginCreateOrUpdateAsync(String resourceGroupName, String jitRequestName, JitRequestDefinitionInner parameters) { + return beginCreateOrUpdateWithServiceResponseAsync(resourceGroupName, jitRequestName, parameters).map(new Func1, JitRequestDefinitionInner>() { + @Override + public JitRequestDefinitionInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates or updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @param parameters Parameters supplied to the update JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the JitRequestDefinitionInner object + */ + public Observable> beginCreateOrUpdateWithServiceResponseAsync(String resourceGroupName, String jitRequestName, JitRequestDefinitionInner parameters) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (jitRequestName == null) { + throw new IllegalArgumentException("Parameter jitRequestName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + if (this.client.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."); + } + Validator.validate(parameters); + return service.beginCreateOrUpdate(resourceGroupName, jitRequestName, this.client.subscriptionId(), parameters, 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 ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .register(201, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the JitRequestDefinitionInner object if successful. + */ + public JitRequestDefinitionInner update(String resourceGroupName, String jitRequestName) { + return updateWithServiceResponseAsync(resourceGroupName, jitRequestName).toBlocking().single().body(); + } + + /** + * Updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @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 updateAsync(String resourceGroupName, String jitRequestName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(updateWithServiceResponseAsync(resourceGroupName, jitRequestName), serviceCallback); + } + + /** + * Updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the JitRequestDefinitionInner object + */ + public Observable updateAsync(String resourceGroupName, String jitRequestName) { + return updateWithServiceResponseAsync(resourceGroupName, jitRequestName).map(new Func1, JitRequestDefinitionInner>() { + @Override + public JitRequestDefinitionInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the JitRequestDefinitionInner object + */ + public Observable> updateWithServiceResponseAsync(String resourceGroupName, String jitRequestName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (jitRequestName == null) { + throw new IllegalArgumentException("Parameter jitRequestName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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 Map tags = null; + JitRequestPatchable parameters = new JitRequestPatchable(); + parameters.withTags(null); + return service.update(resourceGroupName, jitRequestName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), parameters, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = updateDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @param tags Jit request tags + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the JitRequestDefinitionInner object if successful. + */ + public JitRequestDefinitionInner update(String resourceGroupName, String jitRequestName, Map tags) { + return updateWithServiceResponseAsync(resourceGroupName, jitRequestName, tags).toBlocking().single().body(); + } + + /** + * Updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @param tags Jit request tags + * @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 updateAsync(String resourceGroupName, String jitRequestName, Map tags, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(updateWithServiceResponseAsync(resourceGroupName, jitRequestName, tags), serviceCallback); + } + + /** + * Updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @param tags Jit request tags + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the JitRequestDefinitionInner object + */ + public Observable updateAsync(String resourceGroupName, String jitRequestName, Map tags) { + return updateWithServiceResponseAsync(resourceGroupName, jitRequestName, tags).map(new Func1, JitRequestDefinitionInner>() { + @Override + public JitRequestDefinitionInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Updates the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @param tags Jit request tags + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the JitRequestDefinitionInner object + */ + public Observable> updateWithServiceResponseAsync(String resourceGroupName, String jitRequestName, Map tags) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (jitRequestName == null) { + throw new IllegalArgumentException("Parameter jitRequestName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null."); + } + if (this.client.apiVersion() == null) { + throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."); + } + Validator.validate(tags); + JitRequestPatchable parameters = new JitRequestPatchable(); + parameters.withTags(tags); + return service.update(resourceGroupName, jitRequestName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), parameters, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = updateDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse updateDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Deletes the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws ErrorResponseException 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 jitRequestName) { + deleteWithServiceResponseAsync(resourceGroupName, jitRequestName).toBlocking().single().body(); + } + + /** + * Deletes the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @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 jitRequestName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(deleteWithServiceResponseAsync(resourceGroupName, jitRequestName), serviceCallback); + } + + /** + * Deletes the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable deleteAsync(String resourceGroupName, String jitRequestName) { + return deleteWithServiceResponseAsync(resourceGroupName, jitRequestName).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Deletes the JIT request. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param jitRequestName The name of the JIT request. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable> deleteWithServiceResponseAsync(String resourceGroupName, String jitRequestName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (jitRequestName == null) { + throw new IllegalArgumentException("Parameter jitRequestName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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.delete(resourceGroupName, jitRequestName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = deleteDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse deleteDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .register(204, new TypeToken() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Retrieves all JIT requests within the subscription. + * + * @return the PagedList object if successful. + */ + public PagedList list() { + PageImpl1 page = new PageImpl1<>(); + page.setItems(listWithServiceResponseAsync().toBlocking().single().body()); + page.setNextPageLink(null); + return new PagedList(page) { + @Override + public Page nextPage(String nextPageLink) { + return null; + } + }; + } + + /** + * Retrieves all JIT requests within the subscription. + * + * @param serviceCallback the async ServiceCallback to handle successful and failed responses. + * @return the {@link ServiceFuture} object + */ + public ServiceFuture> listAsync(final ServiceCallback> serviceCallback) { + return ServiceFuture.fromResponse(listWithServiceResponseAsync(), serviceCallback); + } + + /** + * Retrieves all JIT requests within the subscription. + * + * @return the observable to the List<JitRequestDefinitionInner> object + */ + public Observable> listAsync() { + return listWithServiceResponseAsync().map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + PageImpl1 page = new PageImpl1<>(); + page.setItems(response.body()); + return page; + } + }); + } + + /** + * Retrieves all JIT requests within the subscription. + * + * @return the observable to the List<JitRequestDefinitionInner> object + */ + public Observable>> listWithServiceResponseAsync() { + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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.list(this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDelegate(response); + List items = null; + if (result.body() != null) { + items = result.body().items(); + } + ServiceResponse> clientResponse = new ServiceResponse>(items, result.response()); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Retrieves all JIT requests within the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @return the PagedList object if successful. + */ + public PagedList listByResourceGroup(String resourceGroupName) { + PageImpl1 page = new PageImpl1<>(); + page.setItems(listByResourceGroupWithServiceResponseAsync(resourceGroupName).toBlocking().single().body()); + page.setNextPageLink(null); + return new PagedList(page) { + @Override + public Page nextPage(String nextPageLink) { + return null; + } + }; + } + + /** + * Retrieves all JIT requests within the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param serviceCallback the async ServiceCallback to handle successful and failed responses. + * @return the {@link ServiceFuture} object + */ + public ServiceFuture> listByResourceGroupAsync(String resourceGroupName, final ServiceCallback> serviceCallback) { + return ServiceFuture.fromResponse(listByResourceGroupWithServiceResponseAsync(resourceGroupName), serviceCallback); + } + + /** + * Retrieves all JIT requests within the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @return the observable to the List<JitRequestDefinitionInner> object + */ + public Observable> listByResourceGroupAsync(String resourceGroupName) { + return listByResourceGroupWithServiceResponseAsync(resourceGroupName).map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + PageImpl1 page = new PageImpl1<>(); + page.setItems(response.body()); + return page; + } + }); + } + + /** + * Retrieves all JIT requests within the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @return the observable to the List<JitRequestDefinitionInner> object + */ + public Observable>> listByResourceGroupWithServiceResponseAsync(String resourceGroupName) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (this.client.subscriptionId() == null) { + throw new IllegalArgumentException("Parameter this.client.subscriptionId() 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.listByResourceGroup(resourceGroupName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listByResourceGroupDelegate(response); + List items = null; + if (result.body() != null) { + items = result.body().items(); + } + ServiceResponse> clientResponse = new ServiceResponse>(items, result.response()); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listByResourceGroupDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ManagedApplicationsManager.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ManagedApplicationsManager.java new file mode 100644 index 000000000000..3c38c8642b75 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/ManagedApplicationsManager.java @@ -0,0 +1,123 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.microsoft.azure.AzureEnvironment; +import com.microsoft.azure.AzureResponseBuilder; +import com.microsoft.azure.credentials.AzureTokenCredentials; +import com.microsoft.azure.management.apigeneration.Beta; +import com.microsoft.azure.management.apigeneration.Beta.SinceVersion; +import com.microsoft.azure.arm.resources.AzureConfigurable; +import com.microsoft.azure.serializer.AzureJacksonAdapter; +import com.microsoft.rest.RestClient; +import com.microsoft.azure.management.managedapplications.v2019_07_01.Applications; +import com.microsoft.azure.management.managedapplications.v2019_07_01.ApplicationDefinitions; +import com.microsoft.azure.management.managedapplications.v2019_07_01.JitRequests; +import com.microsoft.azure.arm.resources.implementation.AzureConfigurableCoreImpl; +import com.microsoft.azure.arm.resources.implementation.ManagerCore; + +/** + * Entry point to Azure Solutions resource management. + */ +public final class ManagedApplicationsManager extends ManagerCore { + private Applications applications; + private ApplicationDefinitions applicationDefinitions; + private JitRequests jitRequests; + /** + * Get a Configurable instance that can be used to create ManagedApplicationsManager with optional configuration. + * + * @return the instance allowing configurations + */ + public static Configurable configure() { + return new ManagedApplicationsManager.ConfigurableImpl(); + } + /** + * Creates an instance of ManagedApplicationsManager that exposes Solutions resource management API entry points. + * + * @param credentials the credentials to use + * @param subscriptionId the subscription UUID + * @return the ManagedApplicationsManager + */ + public static ManagedApplicationsManager authenticate(AzureTokenCredentials credentials, String subscriptionId) { + return new ManagedApplicationsManager(new RestClient.Builder() + .withBaseUrl(credentials.environment(), AzureEnvironment.Endpoint.RESOURCE_MANAGER) + .withCredentials(credentials) + .withSerializerAdapter(new AzureJacksonAdapter()) + .withResponseBuilderFactory(new AzureResponseBuilder.Factory()) + .build(), subscriptionId); + } + /** + * Creates an instance of ManagedApplicationsManager that exposes Solutions resource management API entry points. + * + * @param restClient the RestClient to be used for API calls. + * @param subscriptionId the subscription UUID + * @return the ManagedApplicationsManager + */ + public static ManagedApplicationsManager authenticate(RestClient restClient, String subscriptionId) { + return new ManagedApplicationsManager(restClient, subscriptionId); + } + /** + * The interface allowing configurations to be set. + */ + public interface Configurable extends AzureConfigurable { + /** + * Creates an instance of ManagedApplicationsManager that exposes Solutions management API entry points. + * + * @param credentials the credentials to use + * @param subscriptionId the subscription UUID + * @return the interface exposing Solutions management API entry points that work across subscriptions + */ + ManagedApplicationsManager authenticate(AzureTokenCredentials credentials, String subscriptionId); + } + + /** + * @return Entry point to manage Applications. + */ + public Applications applications() { + if (this.applications == null) { + this.applications = new ApplicationsImpl(this); + } + return this.applications; + } + + /** + * @return Entry point to manage ApplicationDefinitions. + */ + public ApplicationDefinitions applicationDefinitions() { + if (this.applicationDefinitions == null) { + this.applicationDefinitions = new ApplicationDefinitionsImpl(this); + } + return this.applicationDefinitions; + } + + /** + * @return Entry point to manage JitRequests. + */ + public JitRequests jitRequests() { + if (this.jitRequests == null) { + this.jitRequests = new JitRequestsImpl(this); + } + return this.jitRequests; + } + + /** + * The implementation for Configurable interface. + */ + private static final class ConfigurableImpl extends AzureConfigurableCoreImpl implements Configurable { + public ManagedApplicationsManager authenticate(AzureTokenCredentials credentials, String subscriptionId) { + return ManagedApplicationsManager.authenticate(buildRestClient(credentials), subscriptionId); + } + } + private ManagedApplicationsManager(RestClient restClient, String subscriptionId) { + super( + restClient, + subscriptionId, + new ApplicationClientImpl(restClient).withSubscriptionId(subscriptionId)); + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/OperationInner.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/OperationInner.java new file mode 100644 index 000000000000..937166ccf35e --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/OperationInner.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.managedapplications.v2019_07_01.implementation; + +import com.microsoft.azure.management.managedapplications.v2019_07_01.OperationDisplay; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Microsoft.Solutions operation. + */ +public class OperationInner { + /** + * Operation name: {provider}/{resource}/{operation}. + */ + @JsonProperty(value = "name") + private String name; + + /** + * The object that represents the operation. + */ + @JsonProperty(value = "display") + private OperationDisplay display; + + /** + * Get operation name: {provider}/{resource}/{operation}. + * + * @return the name value + */ + public String name() { + return this.name; + } + + /** + * Set operation name: {provider}/{resource}/{operation}. + * + * @param name the name value to set + * @return the OperationInner object itself. + */ + public OperationInner withName(String name) { + this.name = name; + return this; + } + + /** + * Get the object that represents the operation. + * + * @return the display value + */ + public OperationDisplay display() { + return this.display; + } + + /** + * Set the object that represents the operation. + * + * @param display the display value to set + * @return the OperationInner object itself. + */ + public OperationInner withDisplay(OperationDisplay display) { + this.display = display; + return this; + } + +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/PageImpl.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/PageImpl.java new file mode 100644 index 000000000000..ab0bd745d77d --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/PageImpl.java @@ -0,0 +1,75 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.microsoft.azure.Page; +import java.util.List; + +/** + * An instance of this class defines a page of Azure resources and a link to + * get the next page of resources, if any. + * + * @param type of Azure resource + */ +public class PageImpl implements Page { + /** + * The link to the next page. + */ + @JsonProperty("nextLink") + private String nextPageLink; + + /** + * The list of items. + */ + @JsonProperty("value") + private List items; + + /** + * Gets the link to the next page. + * + * @return the link to the next page. + */ + @Override + public String nextPageLink() { + return this.nextPageLink; + } + + /** + * Gets the list of items. + * + * @return the list of items in {@link List}. + */ + @Override + public List items() { + return items; + } + + /** + * Sets the link to the next page. + * + * @param nextPageLink the link to the next page. + * @return this Page object itself. + */ + public PageImpl setNextPageLink(String nextPageLink) { + this.nextPageLink = nextPageLink; + return this; + } + + /** + * Sets the list of items. + * + * @param items the list of items in {@link List}. + * @return this Page object itself. + */ + public PageImpl setItems(List items) { + this.items = items; + return this; + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/PageImpl1.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/PageImpl1.java new file mode 100644 index 000000000000..980566a76f85 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/PageImpl1.java @@ -0,0 +1,75 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.microsoft.azure.Page; +import java.util.List; + +/** + * An instance of this class defines a page of Azure resources and a link to + * get the next page of resources, if any. + * + * @param type of Azure resource + */ +public class PageImpl1 implements Page { + /** + * The link to the next page. + */ + @JsonProperty("") + private String nextPageLink; + + /** + * The list of items. + */ + @JsonProperty("value") + private List items; + + /** + * Gets the link to the next page. + * + * @return the link to the next page. + */ + @Override + public String nextPageLink() { + return this.nextPageLink; + } + + /** + * Gets the list of items. + * + * @return the list of items in {@link List}. + */ + @Override + public List items() { + return items; + } + + /** + * Sets the link to the next page. + * + * @param nextPageLink the link to the next page. + * @return this Page object itself. + */ + public PageImpl1 setNextPageLink(String nextPageLink) { + this.nextPageLink = nextPageLink; + return this; + } + + /** + * Sets the list of items. + * + * @param items the list of items in {@link List}. + * @return this Page object itself. + */ + public PageImpl1 setItems(List items) { + this.items = items; + return this; + } +} diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/package-info.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/package-info.java new file mode 100644 index 000000000000..65122945f88a --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/implementation/package-info.java @@ -0,0 +1,11 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * This package contains the implementation classes for ApplicationClient. + * ARM applications. + */ +package com.microsoft.azure.management.managedapplications.v2019_07_01.implementation; diff --git a/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/package-info.java b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/package-info.java new file mode 100644 index 000000000000..644dab568645 --- /dev/null +++ b/sdk/managedapplications/mgmt-v2019_07_01/src/main/java/com/microsoft/azure/management/managedapplications/v2019_07_01/package-info.java @@ -0,0 +1,11 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for +// license information. +// +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * This package contains the classes for ApplicationClient. + * ARM applications. + */ +package com.microsoft.azure.management.managedapplications.v2019_07_01;