diff --git a/sdk/policyinsights/mgmt-v2020_07_01/pom.xml b/sdk/policyinsights/mgmt-v2020_07_01/pom.xml new file mode 100644 index 000000000000..ae17a11bd4b7 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/pom.xml @@ -0,0 +1,135 @@ + + + 4.0.0 + com.microsoft.azure.policyinsights.v2020_07_01 + + com.microsoft.azure + azure-arm-parent + 1.1.0 + ../../../pom.management.xml + + azure-mgmt-policyinsights + 1.0.0-beta + jar + Microsoft Azure SDK for PolicyInsights Management + This package contains Microsoft PolicyInsights 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/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/CheckRestrictionsRequest.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/CheckRestrictionsRequest.java new file mode 100644 index 000000000000..6e15e5b3ed94 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/CheckRestrictionsRequest.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.policyinsights.v2020_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The check policy restrictions parameters describing the resource that is + * being evaluated. + */ +public class CheckRestrictionsRequest { + /** + * The information about the resource that will be evaluated. + */ + @JsonProperty(value = "resourceDetails", required = true) + private CheckRestrictionsResourceDetails resourceDetails; + + /** + * The list of fields and values that should be evaluated for potential + * restrictions. + */ + @JsonProperty(value = "pendingFields") + private List pendingFields; + + /** + * Get the information about the resource that will be evaluated. + * + * @return the resourceDetails value + */ + public CheckRestrictionsResourceDetails resourceDetails() { + return this.resourceDetails; + } + + /** + * Set the information about the resource that will be evaluated. + * + * @param resourceDetails the resourceDetails value to set + * @return the CheckRestrictionsRequest object itself. + */ + public CheckRestrictionsRequest withResourceDetails(CheckRestrictionsResourceDetails resourceDetails) { + this.resourceDetails = resourceDetails; + return this; + } + + /** + * Get the list of fields and values that should be evaluated for potential restrictions. + * + * @return the pendingFields value + */ + public List pendingFields() { + return this.pendingFields; + } + + /** + * Set the list of fields and values that should be evaluated for potential restrictions. + * + * @param pendingFields the pendingFields value to set + * @return the CheckRestrictionsRequest object itself. + */ + public CheckRestrictionsRequest withPendingFields(List pendingFields) { + this.pendingFields = pendingFields; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/CheckRestrictionsResourceDetails.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/CheckRestrictionsResourceDetails.java new file mode 100644 index 000000000000..ba1f5049b14e --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/CheckRestrictionsResourceDetails.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.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The information about the resource that will be evaluated. + */ +public class CheckRestrictionsResourceDetails { + /** + * The resource content. This should include whatever properties are + * already known and can be a partial set of all resource properties. + */ + @JsonProperty(value = "resourceContent", required = true) + private Object resourceContent; + + /** + * The api-version of the resource content. + */ + @JsonProperty(value = "apiVersion") + private String apiVersion; + + /** + * The scope where the resource is being created. For example, if the + * resource is a child resource this would be the parent resource's + * resource ID. + */ + @JsonProperty(value = "scope") + private String scope; + + /** + * Get the resource content. This should include whatever properties are already known and can be a partial set of all resource properties. + * + * @return the resourceContent value + */ + public Object resourceContent() { + return this.resourceContent; + } + + /** + * Set the resource content. This should include whatever properties are already known and can be a partial set of all resource properties. + * + * @param resourceContent the resourceContent value to set + * @return the CheckRestrictionsResourceDetails object itself. + */ + public CheckRestrictionsResourceDetails withResourceContent(Object resourceContent) { + this.resourceContent = resourceContent; + return this; + } + + /** + * Get the api-version of the resource content. + * + * @return the apiVersion value + */ + public String apiVersion() { + return this.apiVersion; + } + + /** + * Set the api-version of the resource content. + * + * @param apiVersion the apiVersion value to set + * @return the CheckRestrictionsResourceDetails object itself. + */ + public CheckRestrictionsResourceDetails withApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + return this; + } + + /** + * Get the scope where the resource is being created. For example, if the resource is a child resource this would be the parent resource's resource ID. + * + * @return the scope value + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope where the resource is being created. For example, if the resource is a child resource this would be the parent resource's resource ID. + * + * @param scope the scope value to set + * @return the CheckRestrictionsResourceDetails object itself. + */ + public CheckRestrictionsResourceDetails withScope(String scope) { + this.scope = scope; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/CheckRestrictionsResult.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/CheckRestrictionsResult.java new file mode 100644 index 000000000000..8c373a4498cc --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/CheckRestrictionsResult.java @@ -0,0 +1,31 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.microsoft.azure.arm.model.HasInner; +import com.microsoft.azure.arm.resources.models.HasManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyInsightsManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.CheckRestrictionsResultInner; +import java.util.List; + +/** + * Type representing CheckRestrictionsResult. + */ +public interface CheckRestrictionsResult extends HasInner, HasManager { + /** + * @return the contentEvaluationResult value. + */ + CheckRestrictionsResultContentEvaluationResult contentEvaluationResult(); + + /** + * @return the fieldRestrictions value. + */ + List fieldRestrictions(); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/CheckRestrictionsResultContentEvaluationResult.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/CheckRestrictionsResultContentEvaluationResult.java new file mode 100644 index 000000000000..b74b837f40dd --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/CheckRestrictionsResultContentEvaluationResult.java @@ -0,0 +1,45 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Evaluation results for the provided partial resource content. + */ +public class CheckRestrictionsResultContentEvaluationResult { + /** + * Policy evaluation results against the given resource content. This will + * indicate if the partial content that was provided will be denied as-is. + */ + @JsonProperty(value = "policyEvaluations") + private List policyEvaluations; + + /** + * Get policy evaluation results against the given resource content. This will indicate if the partial content that was provided will be denied as-is. + * + * @return the policyEvaluations value + */ + public List policyEvaluations() { + return this.policyEvaluations; + } + + /** + * Set policy evaluation results against the given resource content. This will indicate if the partial content that was provided will be denied as-is. + * + * @param policyEvaluations the policyEvaluations value to set + * @return the CheckRestrictionsResultContentEvaluationResult object itself. + */ + public CheckRestrictionsResultContentEvaluationResult withPolicyEvaluations(List policyEvaluations) { + this.policyEvaluations = policyEvaluations; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ComplianceDetail.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ComplianceDetail.java new file mode 100644 index 000000000000..6c9128103891 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ComplianceDetail.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.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The compliance state rollup. + */ +public class ComplianceDetail { + /** + * The compliance state. + */ + @JsonProperty(value = "complianceState") + private String complianceState; + + /** + * Summarized count value for this compliance state. + */ + @JsonProperty(value = "count") + private Integer count; + + /** + * Get the compliance state. + * + * @return the complianceState value + */ + public String complianceState() { + return this.complianceState; + } + + /** + * Set the compliance state. + * + * @param complianceState the complianceState value to set + * @return the ComplianceDetail object itself. + */ + public ComplianceDetail withComplianceState(String complianceState) { + this.complianceState = complianceState; + return this; + } + + /** + * Get summarized count value for this compliance state. + * + * @return the count value + */ + public Integer count() { + return this.count; + } + + /** + * Set summarized count value for this compliance state. + * + * @param count the count value to set + * @return the ComplianceDetail object itself. + */ + public ComplianceDetail withCount(Integer count) { + this.count = count; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ComponentEventDetails.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ComponentEventDetails.java new file mode 100644 index 000000000000..35dd4b58d0d8 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ComponentEventDetails.java @@ -0,0 +1,228 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import java.util.Map; +import org.joda.time.DateTime; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Component event details. + */ +public class ComponentEventDetails { + /** + * Unmatched properties from the message are deserialized this collection. + */ + @JsonProperty(value = "") + private Map additionalProperties; + + /** + * Component Id. + */ + @JsonProperty(value = "id") + private String id; + + /** + * Component type. + */ + @JsonProperty(value = "type") + private String type; + + /** + * Component name. + */ + @JsonProperty(value = "name") + private String name; + + /** + * Timestamp for component policy event record. + */ + @JsonProperty(value = "timestamp") + private DateTime timestamp; + + /** + * Tenant ID for the policy event record. + */ + @JsonProperty(value = "tenantId") + private String tenantId; + + /** + * Principal object ID for the user who initiated the resource component + * operation that triggered the policy event. + */ + @JsonProperty(value = "principalOid") + private String principalOid; + + /** + * Policy definition action, i.e. effect. + */ + @JsonProperty(value = "policyDefinitionAction") + private String policyDefinitionAction; + + /** + * Get unmatched properties from the message are deserialized this collection. + * + * @return the additionalProperties value + */ + public Map additionalProperties() { + return this.additionalProperties; + } + + /** + * Set unmatched properties from the message are deserialized this collection. + * + * @param additionalProperties the additionalProperties value to set + * @return the ComponentEventDetails object itself. + */ + public ComponentEventDetails withAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + return this; + } + + /** + * Get component Id. + * + * @return the id value + */ + public String id() { + return this.id; + } + + /** + * Set component Id. + * + * @param id the id value to set + * @return the ComponentEventDetails object itself. + */ + public ComponentEventDetails withId(String id) { + this.id = id; + return this; + } + + /** + * Get component type. + * + * @return the type value + */ + public String type() { + return this.type; + } + + /** + * Set component type. + * + * @param type the type value to set + * @return the ComponentEventDetails object itself. + */ + public ComponentEventDetails withType(String type) { + this.type = type; + return this; + } + + /** + * Get component name. + * + * @return the name value + */ + public String name() { + return this.name; + } + + /** + * Set component name. + * + * @param name the name value to set + * @return the ComponentEventDetails object itself. + */ + public ComponentEventDetails withName(String name) { + this.name = name; + return this; + } + + /** + * Get timestamp for component policy event record. + * + * @return the timestamp value + */ + public DateTime timestamp() { + return this.timestamp; + } + + /** + * Set timestamp for component policy event record. + * + * @param timestamp the timestamp value to set + * @return the ComponentEventDetails object itself. + */ + public ComponentEventDetails withTimestamp(DateTime timestamp) { + this.timestamp = timestamp; + return this; + } + + /** + * Get tenant ID for the policy event record. + * + * @return the tenantId value + */ + public String tenantId() { + return this.tenantId; + } + + /** + * Set tenant ID for the policy event record. + * + * @param tenantId the tenantId value to set + * @return the ComponentEventDetails object itself. + */ + public ComponentEventDetails withTenantId(String tenantId) { + this.tenantId = tenantId; + return this; + } + + /** + * Get principal object ID for the user who initiated the resource component operation that triggered the policy event. + * + * @return the principalOid value + */ + public String principalOid() { + return this.principalOid; + } + + /** + * Set principal object ID for the user who initiated the resource component operation that triggered the policy event. + * + * @param principalOid the principalOid value to set + * @return the ComponentEventDetails object itself. + */ + public ComponentEventDetails withPrincipalOid(String principalOid) { + this.principalOid = principalOid; + return this; + } + + /** + * Get policy definition action, i.e. effect. + * + * @return the policyDefinitionAction value + */ + public String policyDefinitionAction() { + return this.policyDefinitionAction; + } + + /** + * Set policy definition action, i.e. effect. + * + * @param policyDefinitionAction the policyDefinitionAction value to set + * @return the ComponentEventDetails object itself. + */ + public ComponentEventDetails withPolicyDefinitionAction(String policyDefinitionAction) { + this.policyDefinitionAction = policyDefinitionAction; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ComponentStateDetails.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ComponentStateDetails.java new file mode 100644 index 000000000000..ceaa6cb61ac3 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ComponentStateDetails.java @@ -0,0 +1,175 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import java.util.Map; +import org.joda.time.DateTime; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Component state details. + */ +public class ComponentStateDetails { + /** + * Unmatched properties from the message are deserialized this collection. + */ + @JsonProperty(value = "") + private Map additionalProperties; + + /** + * Component Id. + */ + @JsonProperty(value = "id") + private String id; + + /** + * Component type. + */ + @JsonProperty(value = "type") + private String type; + + /** + * Component name. + */ + @JsonProperty(value = "name") + private String name; + + /** + * Component compliance evaluation timestamp. + */ + @JsonProperty(value = "timestamp") + private DateTime timestamp; + + /** + * Component compliance state. + */ + @JsonProperty(value = "complianceState") + private String complianceState; + + /** + * Get unmatched properties from the message are deserialized this collection. + * + * @return the additionalProperties value + */ + public Map additionalProperties() { + return this.additionalProperties; + } + + /** + * Set unmatched properties from the message are deserialized this collection. + * + * @param additionalProperties the additionalProperties value to set + * @return the ComponentStateDetails object itself. + */ + public ComponentStateDetails withAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + return this; + } + + /** + * Get component Id. + * + * @return the id value + */ + public String id() { + return this.id; + } + + /** + * Set component Id. + * + * @param id the id value to set + * @return the ComponentStateDetails object itself. + */ + public ComponentStateDetails withId(String id) { + this.id = id; + return this; + } + + /** + * Get component type. + * + * @return the type value + */ + public String type() { + return this.type; + } + + /** + * Set component type. + * + * @param type the type value to set + * @return the ComponentStateDetails object itself. + */ + public ComponentStateDetails withType(String type) { + this.type = type; + return this; + } + + /** + * Get component name. + * + * @return the name value + */ + public String name() { + return this.name; + } + + /** + * Set component name. + * + * @param name the name value to set + * @return the ComponentStateDetails object itself. + */ + public ComponentStateDetails withName(String name) { + this.name = name; + return this; + } + + /** + * Get component compliance evaluation timestamp. + * + * @return the timestamp value + */ + public DateTime timestamp() { + return this.timestamp; + } + + /** + * Set component compliance evaluation timestamp. + * + * @param timestamp the timestamp value to set + * @return the ComponentStateDetails object itself. + */ + public ComponentStateDetails withTimestamp(DateTime timestamp) { + this.timestamp = timestamp; + return this; + } + + /** + * Get component compliance state. + * + * @return the complianceState value + */ + public String complianceState() { + return this.complianceState; + } + + /** + * Set component compliance state. + * + * @param complianceState the complianceState value to set + * @return the ComponentStateDetails object itself. + */ + public ComponentStateDetails withComplianceState(String complianceState) { + this.complianceState = complianceState; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ErrorDefinition.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ErrorDefinition.java new file mode 100644 index 000000000000..b657f249688b --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ErrorDefinition.java @@ -0,0 +1,94 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Error definition. + */ +public class ErrorDefinition { + /** + * Service specific error code which serves as the substatus for the HTTP + * error code. + */ + @JsonProperty(value = "code", access = JsonProperty.Access.WRITE_ONLY) + private String code; + + /** + * Description of the error. + */ + @JsonProperty(value = "message", access = JsonProperty.Access.WRITE_ONLY) + private String message; + + /** + * The target of the error. + */ + @JsonProperty(value = "target", access = JsonProperty.Access.WRITE_ONLY) + private String target; + + /** + * Internal error details. + */ + @JsonProperty(value = "details", access = JsonProperty.Access.WRITE_ONLY) + private List details; + + /** + * Additional scenario specific error details. + */ + @JsonProperty(value = "additionalInfo", access = JsonProperty.Access.WRITE_ONLY) + private List additionalInfo; + + /** + * Get service specific error code which serves as the substatus for the HTTP error code. + * + * @return the code value + */ + public String code() { + return this.code; + } + + /** + * Get description of the error. + * + * @return the message value + */ + public String message() { + return this.message; + } + + /** + * Get the target of the error. + * + * @return the target value + */ + public String target() { + return this.target; + } + + /** + * Get internal error details. + * + * @return the details value + */ + public List details() { + return this.details; + } + + /** + * Get additional scenario specific error details. + * + * @return the additionalInfo value + */ + public List additionalInfo() { + return this.additionalInfo; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ErrorResponse.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ErrorResponse.java new file mode 100644 index 000000000000..07fef237965d --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ErrorResponse.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.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Error response. + */ +public class ErrorResponse { + /** + * The error details. + */ + @JsonProperty(value = "error") + private ErrorDefinition error; + + /** + * Get the error details. + * + * @return the error value + */ + public ErrorDefinition error() { + return this.error; + } + + /** + * Set the error details. + * + * @param error the error value to set + * @return the ErrorResponse object itself. + */ + public ErrorResponse withError(ErrorDefinition error) { + this.error = error; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ErrorResponseException.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ErrorResponseException.java new file mode 100644 index 000000000000..428f54590690 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_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.policyinsights.v2020_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/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ExpressionEvaluationDetails.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ExpressionEvaluationDetails.java new file mode 100644 index 000000000000..36546dfd594b --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ExpressionEvaluationDetails.java @@ -0,0 +1,188 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Evaluation details of policy language expressions. + */ +public class ExpressionEvaluationDetails { + /** + * Evaluation result. + */ + @JsonProperty(value = "result") + private String result; + + /** + * Expression evaluated. + */ + @JsonProperty(value = "expression") + private String expression; + + /** + * The kind of expression that was evaluated. + */ + @JsonProperty(value = "expressionKind", access = JsonProperty.Access.WRITE_ONLY) + private String expressionKind; + + /** + * Property path if the expression is a field or an alias. + */ + @JsonProperty(value = "path") + private String path; + + /** + * Value of the expression. + */ + @JsonProperty(value = "expressionValue") + private Object expressionValue; + + /** + * Target value to be compared with the expression value. + */ + @JsonProperty(value = "targetValue") + private Object targetValue; + + /** + * Operator to compare the expression value and the target value. + */ + @JsonProperty(value = "operator") + private String operator; + + /** + * Get evaluation result. + * + * @return the result value + */ + public String result() { + return this.result; + } + + /** + * Set evaluation result. + * + * @param result the result value to set + * @return the ExpressionEvaluationDetails object itself. + */ + public ExpressionEvaluationDetails withResult(String result) { + this.result = result; + return this; + } + + /** + * Get expression evaluated. + * + * @return the expression value + */ + public String expression() { + return this.expression; + } + + /** + * Set expression evaluated. + * + * @param expression the expression value to set + * @return the ExpressionEvaluationDetails object itself. + */ + public ExpressionEvaluationDetails withExpression(String expression) { + this.expression = expression; + return this; + } + + /** + * Get the kind of expression that was evaluated. + * + * @return the expressionKind value + */ + public String expressionKind() { + return this.expressionKind; + } + + /** + * Get property path if the expression is a field or an alias. + * + * @return the path value + */ + public String path() { + return this.path; + } + + /** + * Set property path if the expression is a field or an alias. + * + * @param path the path value to set + * @return the ExpressionEvaluationDetails object itself. + */ + public ExpressionEvaluationDetails withPath(String path) { + this.path = path; + return this; + } + + /** + * Get value of the expression. + * + * @return the expressionValue value + */ + public Object expressionValue() { + return this.expressionValue; + } + + /** + * Set value of the expression. + * + * @param expressionValue the expressionValue value to set + * @return the ExpressionEvaluationDetails object itself. + */ + public ExpressionEvaluationDetails withExpressionValue(Object expressionValue) { + this.expressionValue = expressionValue; + return this; + } + + /** + * Get target value to be compared with the expression value. + * + * @return the targetValue value + */ + public Object targetValue() { + return this.targetValue; + } + + /** + * Set target value to be compared with the expression value. + * + * @param targetValue the targetValue value to set + * @return the ExpressionEvaluationDetails object itself. + */ + public ExpressionEvaluationDetails withTargetValue(Object targetValue) { + this.targetValue = targetValue; + return this; + } + + /** + * Get operator to compare the expression value and the target value. + * + * @return the operator value + */ + public String operator() { + return this.operator; + } + + /** + * Set operator to compare the expression value and the target value. + * + * @param operator the operator value to set + * @return the ExpressionEvaluationDetails object itself. + */ + public ExpressionEvaluationDetails withOperator(String operator) { + this.operator = operator; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/FieldRestriction.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/FieldRestriction.java new file mode 100644 index 000000000000..3298c2cdf04e --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/FieldRestriction.java @@ -0,0 +1,80 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The restrictions on a field imposed by a specific policy. + */ +public class FieldRestriction { + /** + * The type of restriction that is imposed on the field. Possible values + * include: 'Required', 'Removed', 'Deny'. + */ + @JsonProperty(value = "result", access = JsonProperty.Access.WRITE_ONLY) + private FieldRestrictionResult result; + + /** + * The value that policy will set for the field if the user does not + * provide a value. + */ + @JsonProperty(value = "defaultValue", access = JsonProperty.Access.WRITE_ONLY) + private String defaultValue; + + /** + * The values that policy either requires or denies for the field. + */ + @JsonProperty(value = "values", access = JsonProperty.Access.WRITE_ONLY) + private List values; + + /** + * The details of the policy that is causing the field restriction. + */ + @JsonProperty(value = "policy", access = JsonProperty.Access.WRITE_ONLY) + private PolicyReference policy; + + /** + * Get the type of restriction that is imposed on the field. Possible values include: 'Required', 'Removed', 'Deny'. + * + * @return the result value + */ + public FieldRestrictionResult result() { + return this.result; + } + + /** + * Get the value that policy will set for the field if the user does not provide a value. + * + * @return the defaultValue value + */ + public String defaultValue() { + return this.defaultValue; + } + + /** + * Get the values that policy either requires or denies for the field. + * + * @return the values value + */ + public List values() { + return this.values; + } + + /** + * Get the details of the policy that is causing the field restriction. + * + * @return the policy value + */ + public PolicyReference policy() { + return this.policy; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/FieldRestrictionResult.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/FieldRestrictionResult.java new file mode 100644 index 000000000000..7f2bd1ca862a --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/FieldRestrictionResult.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.policyinsights.v2020_07_01; + +import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.microsoft.rest.ExpandableStringEnum; + +/** + * Defines values for FieldRestrictionResult. + */ +public final class FieldRestrictionResult extends ExpandableStringEnum { + /** Static value Required for FieldRestrictionResult. */ + public static final FieldRestrictionResult REQUIRED = fromString("Required"); + + /** Static value Removed for FieldRestrictionResult. */ + public static final FieldRestrictionResult REMOVED = fromString("Removed"); + + /** Static value Deny for FieldRestrictionResult. */ + public static final FieldRestrictionResult DENY = fromString("Deny"); + + /** + * Creates or finds a FieldRestrictionResult from its string representation. + * @param name a name to look for + * @return the corresponding FieldRestrictionResult + */ + @JsonCreator + public static FieldRestrictionResult fromString(String name) { + return fromString(name, FieldRestrictionResult.class); + } + + /** + * @return known FieldRestrictionResult values + */ + public static Collection values() { + return values(FieldRestrictionResult.class); + } +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/FieldRestrictions.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/FieldRestrictions.java new file mode 100644 index 000000000000..93bda9c6b48e --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/FieldRestrictions.java @@ -0,0 +1,60 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The restrictions that will be placed on a field in the resource by policy. + */ +public class FieldRestrictions { + /** + * The name of the field. This can be a top-level property like 'name' or + * 'type' or an Azure Policy field alias. + */ + @JsonProperty(value = "field", access = JsonProperty.Access.WRITE_ONLY) + private String field; + + /** + * The restrictions placed on that field by policy. + */ + @JsonProperty(value = "restrictions") + private List restrictions; + + /** + * Get the name of the field. This can be a top-level property like 'name' or 'type' or an Azure Policy field alias. + * + * @return the field value + */ + public String field() { + return this.field; + } + + /** + * Get the restrictions placed on that field by policy. + * + * @return the restrictions value + */ + public List restrictions() { + return this.restrictions; + } + + /** + * Set the restrictions placed on that field by policy. + * + * @param restrictions the restrictions value to set + * @return the FieldRestrictions object itself. + */ + public FieldRestrictions withRestrictions(List restrictions) { + this.restrictions = restrictions; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/IfNotExistsEvaluationDetails.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/IfNotExistsEvaluationDetails.java new file mode 100644 index 000000000000..0622cbc27961 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/IfNotExistsEvaluationDetails.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.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Evaluation details of IfNotExists effect. + */ +public class IfNotExistsEvaluationDetails { + /** + * ID of the last evaluated resource for IfNotExists effect. + */ + @JsonProperty(value = "resourceId") + private String resourceId; + + /** + * Total number of resources to which the existence condition is + * applicable. + */ + @JsonProperty(value = "totalResources") + private Integer totalResources; + + /** + * Get iD of the last evaluated resource for IfNotExists effect. + * + * @return the resourceId value + */ + public String resourceId() { + return this.resourceId; + } + + /** + * Set iD of the last evaluated resource for IfNotExists effect. + * + * @param resourceId the resourceId value to set + * @return the IfNotExistsEvaluationDetails object itself. + */ + public IfNotExistsEvaluationDetails withResourceId(String resourceId) { + this.resourceId = resourceId; + return this; + } + + /** + * Get total number of resources to which the existence condition is applicable. + * + * @return the totalResources value + */ + public Integer totalResources() { + return this.totalResources; + } + + /** + * Set total number of resources to which the existence condition is applicable. + * + * @param totalResources the totalResources value to set + * @return the IfNotExistsEvaluationDetails object itself. + */ + public IfNotExistsEvaluationDetails withTotalResources(Integer totalResources) { + this.totalResources = totalResources; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/OperationDisplay.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/OperationDisplay.java new file mode 100644 index 000000000000..a387f693c2c9 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/OperationDisplay.java @@ -0,0 +1,121 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Display metadata associated with the operation. + */ +public class OperationDisplay { + /** + * Resource provider name. + */ + @JsonProperty(value = "provider") + private String provider; + + /** + * Resource name on which the operation is performed. + */ + @JsonProperty(value = "resource") + private String resource; + + /** + * Operation name. + */ + @JsonProperty(value = "operation") + private String operation; + + /** + * Operation description. + */ + @JsonProperty(value = "description") + private String description; + + /** + * Get resource provider name. + * + * @return the provider value + */ + public String provider() { + return this.provider; + } + + /** + * Set resource provider name. + * + * @param provider the provider value to set + * @return the OperationDisplay object itself. + */ + public OperationDisplay withProvider(String provider) { + this.provider = provider; + return this; + } + + /** + * Get resource name on which the operation is performed. + * + * @return the resource value + */ + public String resource() { + return this.resource; + } + + /** + * Set resource name on which the operation is performed. + * + * @param resource the resource value to set + * @return the OperationDisplay object itself. + */ + public OperationDisplay withResource(String resource) { + this.resource = resource; + return this; + } + + /** + * Get operation name. + * + * @return the operation value + */ + public String operation() { + return this.operation; + } + + /** + * Set operation name. + * + * @param operation the operation value to set + * @return the OperationDisplay object itself. + */ + public OperationDisplay withOperation(String operation) { + this.operation = operation; + return this; + } + + /** + * Get operation description. + * + * @return the description value + */ + public String description() { + return this.description; + } + + /** + * Set operation description. + * + * @param description the description value to set + * @return the OperationDisplay object itself. + */ + public OperationDisplay withDescription(String description) { + this.description = description; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/Operations.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/Operations.java new file mode 100644 index 000000000000..7350424a3c21 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/Operations.java @@ -0,0 +1,27 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import rx.Observable; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.OperationsInner; +import com.microsoft.azure.arm.model.HasInner; + +/** + * Type representing Operations. + */ +public interface Operations extends HasInner { + /** + * Lists available operations. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listAsync(); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/OperationsListResults.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/OperationsListResults.java new file mode 100644 index 000000000000..fc2dc1e851f3 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/OperationsListResults.java @@ -0,0 +1,32 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.microsoft.azure.arm.model.HasInner; +import com.microsoft.azure.arm.resources.models.HasManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyInsightsManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.OperationsListResultsInner; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.OperationInner; +import java.util.List; + +/** + * Type representing OperationsListResults. + */ +public interface OperationsListResults extends HasInner, HasManager { + /** + * @return the odatacount value. + */ + Integer odatacount(); + + /** + * @return the value value. + */ + List value(); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PendingField.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PendingField.java new file mode 100644 index 000000000000..5cd208bb5ed9 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PendingField.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.policyinsights.v2020_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * A field that should be evaluated against Azure Policy to determine + * restrictions. + */ +public class PendingField { + /** + * The name of the field. This can be a top-level property like 'name' or + * 'type' or an Azure Policy field alias. + */ + @JsonProperty(value = "field", required = true) + private String field; + + /** + * The list of potential values for the field that should be evaluated + * against Azure Policy. + */ + @JsonProperty(value = "values") + private List values; + + /** + * Get the name of the field. This can be a top-level property like 'name' or 'type' or an Azure Policy field alias. + * + * @return the field value + */ + public String field() { + return this.field; + } + + /** + * Set the name of the field. This can be a top-level property like 'name' or 'type' or an Azure Policy field alias. + * + * @param field the field value to set + * @return the PendingField object itself. + */ + public PendingField withField(String field) { + this.field = field; + return this; + } + + /** + * Get the list of potential values for the field that should be evaluated against Azure Policy. + * + * @return the values value + */ + public List values() { + return this.values; + } + + /** + * Set the list of potential values for the field that should be evaluated against Azure Policy. + * + * @param values the values value to set + * @return the PendingField object itself. + */ + public PendingField withValues(List values) { + this.values = values; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyAssignmentSummary.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyAssignmentSummary.java new file mode 100644 index 000000000000..9eddd309bbaa --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyAssignmentSummary.java @@ -0,0 +1,148 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Policy assignment summary. + */ +public class PolicyAssignmentSummary { + /** + * Policy assignment ID. + */ + @JsonProperty(value = "policyAssignmentId") + private String policyAssignmentId; + + /** + * Policy set definition ID, if the policy assignment is for a policy set. + */ + @JsonProperty(value = "policySetDefinitionId") + private String policySetDefinitionId; + + /** + * Compliance summary for the policy assignment. + */ + @JsonProperty(value = "results") + private SummaryResults results; + + /** + * Policy definitions summary. + */ + @JsonProperty(value = "policyDefinitions") + private List policyDefinitions; + + /** + * Policy definition group summary. + */ + @JsonProperty(value = "policyGroups") + private List policyGroups; + + /** + * Get policy assignment ID. + * + * @return the policyAssignmentId value + */ + public String policyAssignmentId() { + return this.policyAssignmentId; + } + + /** + * Set policy assignment ID. + * + * @param policyAssignmentId the policyAssignmentId value to set + * @return the PolicyAssignmentSummary object itself. + */ + public PolicyAssignmentSummary withPolicyAssignmentId(String policyAssignmentId) { + this.policyAssignmentId = policyAssignmentId; + return this; + } + + /** + * Get policy set definition ID, if the policy assignment is for a policy set. + * + * @return the policySetDefinitionId value + */ + public String policySetDefinitionId() { + return this.policySetDefinitionId; + } + + /** + * Set policy set definition ID, if the policy assignment is for a policy set. + * + * @param policySetDefinitionId the policySetDefinitionId value to set + * @return the PolicyAssignmentSummary object itself. + */ + public PolicyAssignmentSummary withPolicySetDefinitionId(String policySetDefinitionId) { + this.policySetDefinitionId = policySetDefinitionId; + return this; + } + + /** + * Get compliance summary for the policy assignment. + * + * @return the results value + */ + public SummaryResults results() { + return this.results; + } + + /** + * Set compliance summary for the policy assignment. + * + * @param results the results value to set + * @return the PolicyAssignmentSummary object itself. + */ + public PolicyAssignmentSummary withResults(SummaryResults results) { + this.results = results; + return this; + } + + /** + * Get policy definitions summary. + * + * @return the policyDefinitions value + */ + public List policyDefinitions() { + return this.policyDefinitions; + } + + /** + * Set policy definitions summary. + * + * @param policyDefinitions the policyDefinitions value to set + * @return the PolicyAssignmentSummary object itself. + */ + public PolicyAssignmentSummary withPolicyDefinitions(List policyDefinitions) { + this.policyDefinitions = policyDefinitions; + return this; + } + + /** + * Get policy definition group summary. + * + * @return the policyGroups value + */ + public List policyGroups() { + return this.policyGroups; + } + + /** + * Set policy definition group summary. + * + * @param policyGroups the policyGroups value to set + * @return the PolicyAssignmentSummary object itself. + */ + public PolicyAssignmentSummary withPolicyGroups(List policyGroups) { + this.policyGroups = policyGroups; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyDefinitionSummary.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyDefinitionSummary.java new file mode 100644 index 000000000000..2c83a3c84c5e --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyDefinitionSummary.java @@ -0,0 +1,148 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Policy definition summary. + */ +public class PolicyDefinitionSummary { + /** + * Policy definition ID. + */ + @JsonProperty(value = "policyDefinitionId") + private String policyDefinitionId; + + /** + * Policy definition reference ID. + */ + @JsonProperty(value = "policyDefinitionReferenceId") + private String policyDefinitionReferenceId; + + /** + * Policy definition group names. + */ + @JsonProperty(value = "policyDefinitionGroupNames") + private List policyDefinitionGroupNames; + + /** + * Policy effect, i.e. policy definition action. + */ + @JsonProperty(value = "effect") + private String effect; + + /** + * Compliance summary for the policy definition. + */ + @JsonProperty(value = "results") + private SummaryResults results; + + /** + * Get policy definition ID. + * + * @return the policyDefinitionId value + */ + public String policyDefinitionId() { + return this.policyDefinitionId; + } + + /** + * Set policy definition ID. + * + * @param policyDefinitionId the policyDefinitionId value to set + * @return the PolicyDefinitionSummary object itself. + */ + public PolicyDefinitionSummary withPolicyDefinitionId(String policyDefinitionId) { + this.policyDefinitionId = policyDefinitionId; + return this; + } + + /** + * Get policy definition reference ID. + * + * @return the policyDefinitionReferenceId value + */ + public String policyDefinitionReferenceId() { + return this.policyDefinitionReferenceId; + } + + /** + * Set policy definition reference ID. + * + * @param policyDefinitionReferenceId the policyDefinitionReferenceId value to set + * @return the PolicyDefinitionSummary object itself. + */ + public PolicyDefinitionSummary withPolicyDefinitionReferenceId(String policyDefinitionReferenceId) { + this.policyDefinitionReferenceId = policyDefinitionReferenceId; + return this; + } + + /** + * Get policy definition group names. + * + * @return the policyDefinitionGroupNames value + */ + public List policyDefinitionGroupNames() { + return this.policyDefinitionGroupNames; + } + + /** + * Set policy definition group names. + * + * @param policyDefinitionGroupNames the policyDefinitionGroupNames value to set + * @return the PolicyDefinitionSummary object itself. + */ + public PolicyDefinitionSummary withPolicyDefinitionGroupNames(List policyDefinitionGroupNames) { + this.policyDefinitionGroupNames = policyDefinitionGroupNames; + return this; + } + + /** + * Get policy effect, i.e. policy definition action. + * + * @return the effect value + */ + public String effect() { + return this.effect; + } + + /** + * Set policy effect, i.e. policy definition action. + * + * @param effect the effect value to set + * @return the PolicyDefinitionSummary object itself. + */ + public PolicyDefinitionSummary withEffect(String effect) { + this.effect = effect; + return this; + } + + /** + * Get compliance summary for the policy definition. + * + * @return the results value + */ + public SummaryResults results() { + return this.results; + } + + /** + * Set compliance summary for the policy definition. + * + * @param results the results value to set + * @return the PolicyDefinitionSummary object itself. + */ + public PolicyDefinitionSummary withResults(SummaryResults results) { + this.results = results; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyDetails.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyDetails.java new file mode 100644 index 000000000000..474288866386 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyDetails.java @@ -0,0 +1,107 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The policy details. + */ +public class PolicyDetails { + /** + * The ID of the policy definition. + */ + @JsonProperty(value = "policyDefinitionId", access = JsonProperty.Access.WRITE_ONLY) + private String policyDefinitionId; + + /** + * The ID of the policy assignment. + */ + @JsonProperty(value = "policyAssignmentId", access = JsonProperty.Access.WRITE_ONLY) + private String policyAssignmentId; + + /** + * The display name of the policy assignment. + */ + @JsonProperty(value = "policyAssignmentDisplayName", access = JsonProperty.Access.WRITE_ONLY) + private String policyAssignmentDisplayName; + + /** + * The scope of the policy assignment. + */ + @JsonProperty(value = "policyAssignmentScope", access = JsonProperty.Access.WRITE_ONLY) + private String policyAssignmentScope; + + /** + * The ID of the policy set definition. + */ + @JsonProperty(value = "policySetDefinitionId", access = JsonProperty.Access.WRITE_ONLY) + private String policySetDefinitionId; + + /** + * The policy definition reference ID within the policy set definition. + */ + @JsonProperty(value = "policyDefinitionReferenceId", access = JsonProperty.Access.WRITE_ONLY) + private String policyDefinitionReferenceId; + + /** + * Get the ID of the policy definition. + * + * @return the policyDefinitionId value + */ + public String policyDefinitionId() { + return this.policyDefinitionId; + } + + /** + * Get the ID of the policy assignment. + * + * @return the policyAssignmentId value + */ + public String policyAssignmentId() { + return this.policyAssignmentId; + } + + /** + * Get the display name of the policy assignment. + * + * @return the policyAssignmentDisplayName value + */ + public String policyAssignmentDisplayName() { + return this.policyAssignmentDisplayName; + } + + /** + * Get the scope of the policy assignment. + * + * @return the policyAssignmentScope value + */ + public String policyAssignmentScope() { + return this.policyAssignmentScope; + } + + /** + * Get the ID of the policy set definition. + * + * @return the policySetDefinitionId value + */ + public String policySetDefinitionId() { + return this.policySetDefinitionId; + } + + /** + * Get the policy definition reference ID within the policy set definition. + * + * @return the policyDefinitionReferenceId value + */ + public String policyDefinitionReferenceId() { + return this.policyDefinitionReferenceId; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyEvaluationDetails.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyEvaluationDetails.java new file mode 100644 index 000000000000..457061158b0c --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyEvaluationDetails.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.policyinsights.v2020_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Policy evaluation details. + */ +public class PolicyEvaluationDetails { + /** + * Details of the evaluated expressions. + */ + @JsonProperty(value = "evaluatedExpressions") + private List evaluatedExpressions; + + /** + * Evaluation details of IfNotExists effect. + */ + @JsonProperty(value = "ifNotExistsDetails") + private IfNotExistsEvaluationDetails ifNotExistsDetails; + + /** + * Get details of the evaluated expressions. + * + * @return the evaluatedExpressions value + */ + public List evaluatedExpressions() { + return this.evaluatedExpressions; + } + + /** + * Set details of the evaluated expressions. + * + * @param evaluatedExpressions the evaluatedExpressions value to set + * @return the PolicyEvaluationDetails object itself. + */ + public PolicyEvaluationDetails withEvaluatedExpressions(List evaluatedExpressions) { + this.evaluatedExpressions = evaluatedExpressions; + return this; + } + + /** + * Get evaluation details of IfNotExists effect. + * + * @return the ifNotExistsDetails value + */ + public IfNotExistsEvaluationDetails ifNotExistsDetails() { + return this.ifNotExistsDetails; + } + + /** + * Set evaluation details of IfNotExists effect. + * + * @param ifNotExistsDetails the ifNotExistsDetails value to set + * @return the PolicyEvaluationDetails object itself. + */ + public PolicyEvaluationDetails withIfNotExistsDetails(IfNotExistsEvaluationDetails ifNotExistsDetails) { + this.ifNotExistsDetails = ifNotExistsDetails; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyEvaluationResult.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyEvaluationResult.java new file mode 100644 index 000000000000..76a4c1483d06 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyEvaluationResult.java @@ -0,0 +1,66 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The result of a non-compliant policy evaluation against the given resource + * content. + */ +public class PolicyEvaluationResult { + /** + * The details of the policy that was evaluated. + */ + @JsonProperty(value = "policyInfo", access = JsonProperty.Access.WRITE_ONLY) + private PolicyReference policyInfo; + + /** + * The result of the policy evaluation against the resource. This will + * typically be 'NonCompliant' but may contain other values if errors were + * encountered. + */ + @JsonProperty(value = "evaluationResult", access = JsonProperty.Access.WRITE_ONLY) + private String evaluationResult; + + /** + * The detailed results of the policy expressions and values that were + * evaluated. + */ + @JsonProperty(value = "evaluationDetails", access = JsonProperty.Access.WRITE_ONLY) + private PolicyEvaluationDetails evaluationDetails; + + /** + * Get the details of the policy that was evaluated. + * + * @return the policyInfo value + */ + public PolicyReference policyInfo() { + return this.policyInfo; + } + + /** + * Get the result of the policy evaluation against the resource. This will typically be 'NonCompliant' but may contain other values if errors were encountered. + * + * @return the evaluationResult value + */ + public String evaluationResult() { + return this.evaluationResult; + } + + /** + * Get the detailed results of the policy expressions and values that were evaluated. + * + * @return the evaluationDetails value + */ + public PolicyEvaluationDetails evaluationDetails() { + return this.evaluationDetails; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyEvent.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyEvent.java new file mode 100644 index 000000000000..45db816b1a36 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyEvent.java @@ -0,0 +1,183 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.microsoft.azure.arm.model.HasInner; +import com.microsoft.azure.arm.resources.models.HasManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyInsightsManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyEventInner; +import java.util.Map; +import java.util.List; +import org.joda.time.DateTime; + +/** + * Type representing PolicyEvent. + */ +public interface PolicyEvent extends HasInner, HasManager { + /** + * @return the additionalProperties value. + */ + Map additionalProperties(); + + /** + * @return the complianceState value. + */ + String complianceState(); + + /** + * @return the components value. + */ + List components(); + + /** + * @return the effectiveParameters value. + */ + String effectiveParameters(); + + /** + * @return the isCompliant value. + */ + Boolean isCompliant(); + + /** + * @return the managementGroupIds value. + */ + String managementGroupIds(); + + /** + * @return the odatacontext value. + */ + String odatacontext(); + + /** + * @return the odataid value. + */ + String odataid(); + + /** + * @return the policyAssignmentId value. + */ + String policyAssignmentId(); + + /** + * @return the policyAssignmentName value. + */ + String policyAssignmentName(); + + /** + * @return the policyAssignmentOwner value. + */ + String policyAssignmentOwner(); + + /** + * @return the policyAssignmentParameters value. + */ + String policyAssignmentParameters(); + + /** + * @return the policyAssignmentScope value. + */ + String policyAssignmentScope(); + + /** + * @return the policyDefinitionAction value. + */ + String policyDefinitionAction(); + + /** + * @return the policyDefinitionCategory value. + */ + String policyDefinitionCategory(); + + /** + * @return the policyDefinitionId value. + */ + String policyDefinitionId(); + + /** + * @return the policyDefinitionName value. + */ + String policyDefinitionName(); + + /** + * @return the policyDefinitionReferenceId value. + */ + String policyDefinitionReferenceId(); + + /** + * @return the policySetDefinitionCategory value. + */ + String policySetDefinitionCategory(); + + /** + * @return the policySetDefinitionId value. + */ + String policySetDefinitionId(); + + /** + * @return the policySetDefinitionName value. + */ + String policySetDefinitionName(); + + /** + * @return the policySetDefinitionOwner value. + */ + String policySetDefinitionOwner(); + + /** + * @return the policySetDefinitionParameters value. + */ + String policySetDefinitionParameters(); + + /** + * @return the principalOid value. + */ + String principalOid(); + + /** + * @return the resourceGroup value. + */ + String resourceGroup(); + + /** + * @return the resourceId value. + */ + String resourceId(); + + /** + * @return the resourceLocation value. + */ + String resourceLocation(); + + /** + * @return the resourceTags value. + */ + String resourceTags(); + + /** + * @return the resourceType value. + */ + String resourceType(); + + /** + * @return the subscriptionId value. + */ + String subscriptionId(); + + /** + * @return the tenantId value. + */ + String tenantId(); + + /** + * @return the timestamp value. + */ + DateTime timestamp(); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyEvents.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyEvents.java new file mode 100644 index 000000000000..16fd274d0617 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyEvents.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.policyinsights.v2020_07_01; + +import rx.Observable; + +/** + * Type representing PolicyEvents. + */ +public interface PolicyEvents { + /** + * Queries policy events for the resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForManagementGroupAsync(final String managementGroupName); + + /** + * Queries policy events for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForSubscriptionAsync(final String subscriptionId); + + /** + * Queries policy events for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForResourceGroupAsync(final String subscriptionId, final String resourceGroupName); + + /** + * Queries policy events for the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForResourceAsync(final String resourceId); + + /** + * Queries policy events for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForPolicySetDefinitionAsync(final String subscriptionId, final String policySetDefinitionName); + + /** + * Queries policy events for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForPolicyDefinitionAsync(final String subscriptionId, final String policyDefinitionName); + + /** + * Queries policy events for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(final String subscriptionId, final String policyAssignmentName); + + /** + * Queries policy events for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(final String subscriptionId, final String resourceGroupName, final String policyAssignmentName); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyGroupSummary.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyGroupSummary.java new file mode 100644 index 000000000000..e13d7e64a99a --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyGroupSummary.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.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Policy definition group summary. + */ +public class PolicyGroupSummary { + /** + * Policy group name. + */ + @JsonProperty(value = "policyGroupName") + private String policyGroupName; + + /** + * Compliance summary for the policy definition group. + */ + @JsonProperty(value = "results") + private SummaryResults results; + + /** + * Get policy group name. + * + * @return the policyGroupName value + */ + public String policyGroupName() { + return this.policyGroupName; + } + + /** + * Set policy group name. + * + * @param policyGroupName the policyGroupName value to set + * @return the PolicyGroupSummary object itself. + */ + public PolicyGroupSummary withPolicyGroupName(String policyGroupName) { + this.policyGroupName = policyGroupName; + return this; + } + + /** + * Get compliance summary for the policy definition group. + * + * @return the results value + */ + public SummaryResults results() { + return this.results; + } + + /** + * Set compliance summary for the policy definition group. + * + * @param results the results value to set + * @return the PolicyGroupSummary object itself. + */ + public PolicyGroupSummary withResults(SummaryResults results) { + this.results = results; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyMetadata.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyMetadata.java new file mode 100644 index 000000000000..a0709b2b98ce --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyMetadata.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.policyinsights.v2020_07_01; + +import com.microsoft.azure.arm.model.HasInner; +import com.microsoft.azure.arm.resources.models.HasManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyInsightsManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyMetadataInner; + +/** + * Type representing PolicyMetadata. + */ +public interface PolicyMetadata extends HasInner, HasManager { + /** + * @return the additionalContentUrl value. + */ + String additionalContentUrl(); + + /** + * @return the category value. + */ + String category(); + + /** + * @return the description value. + */ + String description(); + + /** + * @return the id value. + */ + String id(); + + /** + * @return the metadata value. + */ + Object metadata(); + + /** + * @return the metadataId value. + */ + String metadataId(); + + /** + * @return the name value. + */ + String name(); + + /** + * @return the owner value. + */ + String owner(); + + /** + * @return the requirements value. + */ + String requirements(); + + /** + * @return the title value. + */ + String title(); + + /** + * @return the type value. + */ + String type(); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyMetadatas.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyMetadatas.java new file mode 100644 index 000000000000..5fa565547e58 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyMetadatas.java @@ -0,0 +1,36 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import rx.Observable; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyMetadatasInner; +import com.microsoft.azure.arm.model.HasInner; + +/** + * Type representing PolicyMetadatas. + */ +public interface PolicyMetadatas extends HasInner { + /** + * Get policy metadata resource. + * + * @param resourceName The name of the policy metadata resource. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable getResourceAsync(String resourceName); + + /** + * Get a list of the policy metadata resources. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listAsync(); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyReference.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyReference.java new file mode 100644 index 000000000000..84c59d8ac8c4 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyReference.java @@ -0,0 +1,78 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Resource identifiers for a policy. + */ +public class PolicyReference { + /** + * The resource identifier of the policy definition. + */ + @JsonProperty(value = "policyDefinitionId", access = JsonProperty.Access.WRITE_ONLY) + private String policyDefinitionId; + + /** + * The resource identifier of the policy set definition. + */ + @JsonProperty(value = "policySetDefinitionId", access = JsonProperty.Access.WRITE_ONLY) + private String policySetDefinitionId; + + /** + * The reference identifier of a specific policy definition within a policy + * set definition. + */ + @JsonProperty(value = "policyDefinitionReferenceId", access = JsonProperty.Access.WRITE_ONLY) + private String policyDefinitionReferenceId; + + /** + * The resource identifier of the policy assignment. + */ + @JsonProperty(value = "policyAssignmentId", access = JsonProperty.Access.WRITE_ONLY) + private String policyAssignmentId; + + /** + * Get the resource identifier of the policy definition. + * + * @return the policyDefinitionId value + */ + public String policyDefinitionId() { + return this.policyDefinitionId; + } + + /** + * Get the resource identifier of the policy set definition. + * + * @return the policySetDefinitionId value + */ + public String policySetDefinitionId() { + return this.policySetDefinitionId; + } + + /** + * Get the reference identifier of a specific policy definition within a policy set definition. + * + * @return the policyDefinitionReferenceId value + */ + public String policyDefinitionReferenceId() { + return this.policyDefinitionReferenceId; + } + + /** + * Get the resource identifier of the policy assignment. + * + * @return the policyAssignmentId value + */ + public String policyAssignmentId() { + return this.policyAssignmentId; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyRestrictions.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyRestrictions.java new file mode 100644 index 000000000000..999cba8c808e --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyRestrictions.java @@ -0,0 +1,40 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import rx.Observable; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyRestrictionsInner; +import com.microsoft.azure.arm.model.HasInner; + +/** + * Type representing PolicyRestrictions. + */ +public interface PolicyRestrictions extends HasInner { + /** + * Checks what restrictions Azure Policy will place on a resource within a subscription. + * + * @param subscriptionId The ID of the target subscription. + * @param parameters The check policy restrictions parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable checkAtSubscriptionScopeAsync(String subscriptionId, CheckRestrictionsRequest parameters); + + /** + * Checks what restrictions Azure Policy will place on a resource within a resource group. Use this when the resource group the resource will be created in is already known. + * + * @param subscriptionId The ID of the target subscription. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param parameters The check policy restrictions parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable checkAtResourceGroupScopeAsync(String subscriptionId, String resourceGroupName, CheckRestrictionsRequest parameters); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyState.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyState.java new file mode 100644 index 000000000000..bb6c56519c37 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyState.java @@ -0,0 +1,198 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.microsoft.azure.arm.model.HasInner; +import com.microsoft.azure.arm.resources.models.HasManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyInsightsManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyStateInner; +import java.util.Map; +import java.util.List; +import org.joda.time.DateTime; + +/** + * Type representing PolicyState. + */ +public interface PolicyState extends HasInner, HasManager { + /** + * @return the additionalProperties value. + */ + Map additionalProperties(); + + /** + * @return the complianceState value. + */ + String complianceState(); + + /** + * @return the components value. + */ + List components(); + + /** + * @return the effectiveParameters value. + */ + String effectiveParameters(); + + /** + * @return the isCompliant value. + */ + Boolean isCompliant(); + + /** + * @return the managementGroupIds value. + */ + String managementGroupIds(); + + /** + * @return the odatacontext value. + */ + String odatacontext(); + + /** + * @return the odataid value. + */ + String odataid(); + + /** + * @return the policyAssignmentId value. + */ + String policyAssignmentId(); + + /** + * @return the policyAssignmentName value. + */ + String policyAssignmentName(); + + /** + * @return the policyAssignmentOwner value. + */ + String policyAssignmentOwner(); + + /** + * @return the policyAssignmentParameters value. + */ + String policyAssignmentParameters(); + + /** + * @return the policyAssignmentScope value. + */ + String policyAssignmentScope(); + + /** + * @return the policyAssignmentVersion value. + */ + String policyAssignmentVersion(); + + /** + * @return the policyDefinitionAction value. + */ + String policyDefinitionAction(); + + /** + * @return the policyDefinitionCategory value. + */ + String policyDefinitionCategory(); + + /** + * @return the policyDefinitionGroupNames value. + */ + List policyDefinitionGroupNames(); + + /** + * @return the policyDefinitionId value. + */ + String policyDefinitionId(); + + /** + * @return the policyDefinitionName value. + */ + String policyDefinitionName(); + + /** + * @return the policyDefinitionReferenceId value. + */ + String policyDefinitionReferenceId(); + + /** + * @return the policyDefinitionVersion value. + */ + String policyDefinitionVersion(); + + /** + * @return the policyEvaluationDetails value. + */ + PolicyEvaluationDetails policyEvaluationDetails(); + + /** + * @return the policySetDefinitionCategory value. + */ + String policySetDefinitionCategory(); + + /** + * @return the policySetDefinitionId value. + */ + String policySetDefinitionId(); + + /** + * @return the policySetDefinitionName value. + */ + String policySetDefinitionName(); + + /** + * @return the policySetDefinitionOwner value. + */ + String policySetDefinitionOwner(); + + /** + * @return the policySetDefinitionParameters value. + */ + String policySetDefinitionParameters(); + + /** + * @return the policySetDefinitionVersion value. + */ + String policySetDefinitionVersion(); + + /** + * @return the resourceGroup value. + */ + String resourceGroup(); + + /** + * @return the resourceId value. + */ + String resourceId(); + + /** + * @return the resourceLocation value. + */ + String resourceLocation(); + + /** + * @return the resourceTags value. + */ + String resourceTags(); + + /** + * @return the resourceType value. + */ + String resourceType(); + + /** + * @return the subscriptionId value. + */ + String subscriptionId(); + + /** + * @return the timestamp value. + */ + DateTime timestamp(); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyStates.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyStates.java new file mode 100644 index 000000000000..4f525e39c86c --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyStates.java @@ -0,0 +1,201 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import rx.Completable; +import rx.Observable; + +/** + * Type representing PolicyStates. + */ +public interface PolicyStates { + /** + * Queries policy states for the resources under the management group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForManagementGroupAsync(final PolicyStatesResource policyStatesResource, final String managementGroupName); + + /** + * Summarizes policy states for the resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable summarizeForManagementGroupAsync(String managementGroupName); + + /** + * Queries policy states for the resources under the subscription. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForSubscriptionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId); + + /** + * Summarizes policy states for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable summarizeForSubscriptionAsync(String subscriptionId); + + /** + * Queries policy states for the resources under the resource group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForResourceGroupAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName); + + /** + * Summarizes policy states for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable summarizeForResourceGroupAsync(String subscriptionId, String resourceGroupName); + + /** + * Queries policy states for the resource. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForResourceAsync(final PolicyStatesResource policyStatesResource, final String resourceId); + + /** + * Summarizes policy states for the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable summarizeForResourceAsync(String resourceId); + + /** + * Triggers a policy evaluation scan for all the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Completable triggerSubscriptionEvaluationAsync(String subscriptionId); + + /** + * Triggers a policy evaluation scan for all the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Completable triggerResourceGroupEvaluationAsync(String subscriptionId, String resourceGroupName); + + /** + * Queries policy states for the subscription level policy set definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForPolicySetDefinitionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policySetDefinitionName); + + /** + * Summarizes policy states for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable summarizeForPolicySetDefinitionAsync(String subscriptionId, String policySetDefinitionName); + + /** + * Queries policy states for the subscription level policy definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForPolicyDefinitionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyDefinitionName); + + /** + * Summarizes policy states for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable summarizeForPolicyDefinitionAsync(String subscriptionId, String policyDefinitionName); + + /** + * Queries policy states for the subscription level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyAssignmentName); + + /** + * Summarizes policy states for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable summarizeForSubscriptionLevelPolicyAssignmentAsync(String subscriptionId, String policyAssignmentName); + + /** + * Queries policy states for the resource group level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final String policyAssignmentName); + + /** + * Summarizes policy states for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable summarizeForResourceGroupLevelPolicyAssignmentAsync(String subscriptionId, String resourceGroupName, String policyAssignmentName); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyStatesResource.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyStatesResource.java new file mode 100644 index 000000000000..6861ae7b4b1b --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyStatesResource.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.policyinsights.v2020_07_01; + +import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.microsoft.rest.ExpandableStringEnum; + +/** + * Defines values for PolicyStatesResource. + */ +public final class PolicyStatesResource extends ExpandableStringEnum { + /** Static value default for PolicyStatesResource. */ + public static final PolicyStatesResource DEFAULT = fromString("default"); + + /** Static value latest for PolicyStatesResource. */ + public static final PolicyStatesResource LATEST = fromString("latest"); + + /** + * Creates or finds a PolicyStatesResource from its string representation. + * @param name a name to look for + * @return the corresponding PolicyStatesResource + */ + @JsonCreator + public static PolicyStatesResource fromString(String name) { + return fromString(name, PolicyStatesResource.class); + } + + /** + * @return known PolicyStatesResource values + */ + public static Collection values() { + return values(PolicyStatesResource.class); + } +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyTrackedResource.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyTrackedResource.java new file mode 100644 index 000000000000..ff3ddef5cec2 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyTrackedResource.java @@ -0,0 +1,46 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.microsoft.azure.arm.model.HasInner; +import com.microsoft.azure.arm.resources.models.HasManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyInsightsManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyTrackedResourceInner; +import org.joda.time.DateTime; + +/** + * Type representing PolicyTrackedResource. + */ +public interface PolicyTrackedResource extends HasInner, HasManager { + /** + * @return the createdBy value. + */ + TrackedResourceModificationDetails createdBy(); + + /** + * @return the lastModifiedBy value. + */ + TrackedResourceModificationDetails lastModifiedBy(); + + /** + * @return the lastUpdateUtc value. + */ + DateTime lastUpdateUtc(); + + /** + * @return the policyDetails value. + */ + PolicyDetails policyDetails(); + + /** + * @return the trackedResourceId value. + */ + String trackedResourceId(); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyTrackedResources.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyTrackedResources.java new file mode 100644 index 000000000000..fa8f1701ad5b --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/PolicyTrackedResources.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.policyinsights.v2020_07_01; + +import rx.Observable; + +/** + * Type representing PolicyTrackedResources. + */ +public interface PolicyTrackedResources { + /** + * Queries policy tracked resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForManagementGroupAsync(final String managementGroupName); + + /** + * Queries policy tracked resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForSubscriptionAsync(final String subscriptionId); + + /** + * Queries policy tracked resources under the resource group. + * + * @param resourceGroupName Resource group name. + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForResourceGroupAsync(final String resourceGroupName, final String subscriptionId); + + /** + * Queries policy tracked resources under the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listQueryResultsForResourceAsync(final String resourceId); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/QueryFailure.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/QueryFailure.java new file mode 100644 index 000000000000..376e1505a2e0 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/QueryFailure.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.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Error response. + */ +public class QueryFailure { + /** + * Error definition. + */ + @JsonProperty(value = "error") + private QueryFailureError error; + + /** + * Get error definition. + * + * @return the error value + */ + public QueryFailureError error() { + return this.error; + } + + /** + * Set error definition. + * + * @param error the error value to set + * @return the QueryFailure object itself. + */ + public QueryFailure withError(QueryFailureError error) { + this.error = error; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/QueryFailureError.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/QueryFailureError.java new file mode 100644 index 000000000000..00d26e6beaea --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/QueryFailureError.java @@ -0,0 +1,48 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Error definition. + */ +public class QueryFailureError { + /** + * Service specific error code which serves as the substatus for the HTTP + * error code. + */ + @JsonProperty(value = "code", access = JsonProperty.Access.WRITE_ONLY) + private String code; + + /** + * Description of the error. + */ + @JsonProperty(value = "message", access = JsonProperty.Access.WRITE_ONLY) + private String message; + + /** + * Get service specific error code which serves as the substatus for the HTTP error code. + * + * @return the code value + */ + public String code() { + return this.code; + } + + /** + * Get description of the error. + * + * @return the message value + */ + public String message() { + return this.message; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/QueryFailureException.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/QueryFailureException.java new file mode 100644 index 000000000000..23c06053c0c6 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/QueryFailureException.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.policyinsights.v2020_07_01; + +import com.microsoft.rest.RestException; +import okhttp3.ResponseBody; +import retrofit2.Response; + +/** + * Exception thrown for an invalid response with QueryFailure information. + */ +public class QueryFailureException extends RestException { + /** + * Initializes a new instance of the QueryFailureException class. + * + * @param message the exception message or the response content if a message is not available + * @param response the HTTP response + */ + public QueryFailureException(final String message, final Response response) { + super(message, response); + } + + /** + * Initializes a new instance of the QueryFailureException 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 QueryFailureException(final String message, final Response response, final QueryFailure body) { + super(message, response, body); + } + + @Override + public QueryFailure body() { + return (QueryFailure) super.body(); + } +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/QueryOptions.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/QueryOptions.java new file mode 100644 index 000000000000..cfd68216357b --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/QueryOptions.java @@ -0,0 +1,260 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import org.joda.time.DateTime; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Additional parameters for a set of operations. + */ +public class QueryOptions { + /** + * Maximum number of records to return. + */ + @JsonProperty(value = "") + private Integer top; + + /** + * OData filter expression. + */ + @JsonProperty(value = "") + private String filter; + + /** + * Ordering expression using OData notation. One or more comma-separated + * column names with an optional "desc" (the default) or "asc", e.g. + * "$orderby=PolicyAssignmentId, ResourceId asc". + */ + @JsonProperty(value = "") + private String orderBy; + + /** + * Select expression using OData notation. Limits the columns on each + * record to just those requested, e.g. "$select=PolicyAssignmentId, + * ResourceId". + */ + @JsonProperty(value = "") + private String select; + + /** + * ISO 8601 formatted timestamp specifying the start time of the interval + * to query. When not specified, the service uses ($to - 1-day). + */ + @JsonProperty(value = "") + private DateTime from; + + /** + * ISO 8601 formatted timestamp specifying the end time of the interval to + * query. When not specified, the service uses request time. + */ + @JsonProperty(value = "") + private DateTime to; + + /** + * OData apply expression for aggregations. + */ + @JsonProperty(value = "") + private String apply; + + /** + * Skiptoken is only provided if a previous response returned a partial + * result as a part of nextLink element. + */ + @JsonProperty(value = "") + private String skipToken; + + /** + * The $expand query parameter. For example, to expand components use + * $expand=components. + */ + @JsonProperty(value = "") + private String expand; + + /** + * Get maximum number of records to return. + * + * @return the top value + */ + public Integer top() { + return this.top; + } + + /** + * Set maximum number of records to return. + * + * @param top the top value to set + * @return the QueryOptions object itself. + */ + public QueryOptions withTop(Integer top) { + this.top = top; + return this; + } + + /** + * Get oData filter expression. + * + * @return the filter value + */ + public String filter() { + return this.filter; + } + + /** + * Set oData filter expression. + * + * @param filter the filter value to set + * @return the QueryOptions object itself. + */ + public QueryOptions withFilter(String filter) { + this.filter = filter; + return this; + } + + /** + * Get ordering expression using OData notation. One or more comma-separated column names with an optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". + * + * @return the orderBy value + */ + public String orderBy() { + return this.orderBy; + } + + /** + * Set ordering expression using OData notation. One or more comma-separated column names with an optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". + * + * @param orderBy the orderBy value to set + * @return the QueryOptions object itself. + */ + public QueryOptions withOrderBy(String orderBy) { + this.orderBy = orderBy; + return this; + } + + /** + * Get select expression using OData notation. Limits the columns on each record to just those requested, e.g. "$select=PolicyAssignmentId, ResourceId". + * + * @return the select value + */ + public String select() { + return this.select; + } + + /** + * Set select expression using OData notation. Limits the columns on each record to just those requested, e.g. "$select=PolicyAssignmentId, ResourceId". + * + * @param select the select value to set + * @return the QueryOptions object itself. + */ + public QueryOptions withSelect(String select) { + this.select = select; + return this; + } + + /** + * Get iSO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, the service uses ($to - 1-day). + * + * @return the from value + */ + public DateTime from() { + return this.from; + } + + /** + * Set iSO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, the service uses ($to - 1-day). + * + * @param from the from value to set + * @return the QueryOptions object itself. + */ + public QueryOptions withFrom(DateTime from) { + this.from = from; + return this; + } + + /** + * Get iSO 8601 formatted timestamp specifying the end time of the interval to query. When not specified, the service uses request time. + * + * @return the to value + */ + public DateTime to() { + return this.to; + } + + /** + * Set iSO 8601 formatted timestamp specifying the end time of the interval to query. When not specified, the service uses request time. + * + * @param to the to value to set + * @return the QueryOptions object itself. + */ + public QueryOptions withTo(DateTime to) { + this.to = to; + return this; + } + + /** + * Get oData apply expression for aggregations. + * + * @return the apply value + */ + public String apply() { + return this.apply; + } + + /** + * Set oData apply expression for aggregations. + * + * @param apply the apply value to set + * @return the QueryOptions object itself. + */ + public QueryOptions withApply(String apply) { + this.apply = apply; + return this; + } + + /** + * Get skiptoken is only provided if a previous response returned a partial result as a part of nextLink element. + * + * @return the skipToken value + */ + public String skipToken() { + return this.skipToken; + } + + /** + * Set skiptoken is only provided if a previous response returned a partial result as a part of nextLink element. + * + * @param skipToken the skipToken value to set + * @return the QueryOptions object itself. + */ + public QueryOptions withSkipToken(String skipToken) { + this.skipToken = skipToken; + return this; + } + + /** + * Get the $expand query parameter. For example, to expand components use $expand=components. + * + * @return the expand value + */ + public String expand() { + return this.expand; + } + + /** + * Set the $expand query parameter. For example, to expand components use $expand=components. + * + * @param expand the expand value to set + * @return the QueryOptions object itself. + */ + public QueryOptions withExpand(String expand) { + this.expand = expand; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/Remediation.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/Remediation.java new file mode 100644 index 000000000000..2187c9fc574d --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/Remediation.java @@ -0,0 +1,223 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.microsoft.azure.arm.model.HasInner; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.RemediationInner; +import com.microsoft.azure.arm.model.Indexable; +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.policyinsights.v2020_07_01.implementation.PolicyInsightsManager; +import org.joda.time.DateTime; + +/** + * Type representing Remediation. + */ +public interface Remediation extends HasInner, Indexable, Updatable, HasManager { + /** + * @return the createdOn value. + */ + DateTime createdOn(); + + /** + * @return the deploymentStatus value. + */ + RemediationDeploymentSummary deploymentStatus(); + + /** + * @return the filters value. + */ + RemediationFilters filters(); + + /** + * @return the id value. + */ + String id(); + + /** + * @return the lastUpdatedOn value. + */ + DateTime lastUpdatedOn(); + + /** + * @return the name value. + */ + String name(); + + /** + * @return the policyAssignmentId value. + */ + String policyAssignmentId(); + + /** + * @return the policyDefinitionReferenceId value. + */ + String policyDefinitionReferenceId(); + + /** + * @return the provisioningState value. + */ + String provisioningState(); + + /** + * @return the resourceDiscoveryMode value. + */ + ResourceDiscoveryMode resourceDiscoveryMode(); + + /** + * @return the type value. + */ + String type(); + + /** + * The entirety of the Remediation definition. + */ + interface Definition extends DefinitionStages.Blank, DefinitionStages.WithMicrosoft.PolicyInsight, DefinitionStages.WithCreate { + } + + /** + * Grouping of Remediation definition stages. + */ + interface DefinitionStages { + /** + * The first stage of a Remediation definition. + */ + interface Blank extends WithMicrosoft.PolicyInsight { + } + + /** + * The stage of the remediation definition allowing to specify Microsoft.PolicyInsight. + */ + interface WithMicrosoft.PolicyInsight { + /** + * Specifies managementGroupId. + * @param managementGroupId Management group ID + * @return the next definition stage + */ + WithCreate withExistingMicrosoft.PolicyInsight(String managementGroupId); + } + + /** + * The stage of the remediation definition allowing to specify Filters. + */ + interface WithFilters { + /** + * Specifies filters. + * @param filters The filters that will be applied to determine which resources to remediate + * @return the next definition stage + */ + WithCreate withFilters(RemediationFilters filters); + } + + /** + * The stage of the remediation definition allowing to specify PolicyAssignmentId. + */ + interface WithPolicyAssignmentId { + /** + * Specifies policyAssignmentId. + * @param policyAssignmentId The resource ID of the policy assignment that should be remediated + * @return the next definition stage + */ + WithCreate withPolicyAssignmentId(String policyAssignmentId); + } + + /** + * The stage of the remediation definition allowing to specify PolicyDefinitionReferenceId. + */ + interface WithPolicyDefinitionReferenceId { + /** + * Specifies policyDefinitionReferenceId. + * @param policyDefinitionReferenceId The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition + * @return the next definition stage + */ + WithCreate withPolicyDefinitionReferenceId(String policyDefinitionReferenceId); + } + + /** + * The stage of the remediation definition allowing to specify ResourceDiscoveryMode. + */ + interface WithResourceDiscoveryMode { + /** + * Specifies resourceDiscoveryMode. + * @param resourceDiscoveryMode The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified. Possible values include: 'ExistingNonCompliant', 'ReEvaluateCompliance' + * @return the next definition stage + */ + WithCreate withResourceDiscoveryMode(ResourceDiscoveryMode resourceDiscoveryMode); + } + + /** + * The stage of the definition which contains all the minimum required inputs for + * the resource to be created (via {@link WithCreate#create()}), but also allows + * for any other optional settings to be specified. + */ + interface WithCreate extends Creatable, DefinitionStages.WithFilters, DefinitionStages.WithPolicyAssignmentId, DefinitionStages.WithPolicyDefinitionReferenceId, DefinitionStages.WithResourceDiscoveryMode { + } + } + /** + * The template for a Remediation update operation, containing all the settings that can be modified. + */ + interface Update extends Appliable, UpdateStages.WithFilters, UpdateStages.WithPolicyAssignmentId, UpdateStages.WithPolicyDefinitionReferenceId, UpdateStages.WithResourceDiscoveryMode { + } + + /** + * Grouping of Remediation update stages. + */ + interface UpdateStages { + /** + * The stage of the remediation update allowing to specify Filters. + */ + interface WithFilters { + /** + * Specifies filters. + * @param filters The filters that will be applied to determine which resources to remediate + * @return the next update stage + */ + Update withFilters(RemediationFilters filters); + } + + /** + * The stage of the remediation update allowing to specify PolicyAssignmentId. + */ + interface WithPolicyAssignmentId { + /** + * Specifies policyAssignmentId. + * @param policyAssignmentId The resource ID of the policy assignment that should be remediated + * @return the next update stage + */ + Update withPolicyAssignmentId(String policyAssignmentId); + } + + /** + * The stage of the remediation update allowing to specify PolicyDefinitionReferenceId. + */ + interface WithPolicyDefinitionReferenceId { + /** + * Specifies policyDefinitionReferenceId. + * @param policyDefinitionReferenceId The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition + * @return the next update stage + */ + Update withPolicyDefinitionReferenceId(String policyDefinitionReferenceId); + } + + /** + * The stage of the remediation update allowing to specify ResourceDiscoveryMode. + */ + interface WithResourceDiscoveryMode { + /** + * Specifies resourceDiscoveryMode. + * @param resourceDiscoveryMode The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified. Possible values include: 'ExistingNonCompliant', 'ReEvaluateCompliance' + * @return the next update stage + */ + Update withResourceDiscoveryMode(ResourceDiscoveryMode resourceDiscoveryMode); + } + + } +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/RemediationDeployment.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/RemediationDeployment.java new file mode 100644 index 000000000000..6ec19ce15b6a --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/RemediationDeployment.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.policyinsights.v2020_07_01; + +import com.microsoft.azure.arm.model.HasInner; +import com.microsoft.azure.arm.resources.models.HasManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyInsightsManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.RemediationDeploymentInner; +import org.joda.time.DateTime; + +/** + * Type representing RemediationDeployment. + */ +public interface RemediationDeployment extends HasInner, HasManager { + /** + * @return the createdOn value. + */ + DateTime createdOn(); + + /** + * @return the deploymentId value. + */ + String deploymentId(); + + /** + * @return the error value. + */ + ErrorDefinition error(); + + /** + * @return the lastUpdatedOn value. + */ + DateTime lastUpdatedOn(); + + /** + * @return the remediatedResourceId value. + */ + String remediatedResourceId(); + + /** + * @return the resourceLocation value. + */ + String resourceLocation(); + + /** + * @return the status value. + */ + String status(); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/RemediationDeploymentSummary.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/RemediationDeploymentSummary.java new file mode 100644 index 000000000000..b6f90db518d2 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/RemediationDeploymentSummary.java @@ -0,0 +1,64 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The deployment status summary for all deployments created by the + * remediation. + */ +public class RemediationDeploymentSummary { + /** + * The number of deployments required by the remediation. + */ + @JsonProperty(value = "totalDeployments", access = JsonProperty.Access.WRITE_ONLY) + private Integer totalDeployments; + + /** + * The number of deployments required by the remediation that have + * succeeded. + */ + @JsonProperty(value = "successfulDeployments", access = JsonProperty.Access.WRITE_ONLY) + private Integer successfulDeployments; + + /** + * The number of deployments required by the remediation that have failed. + */ + @JsonProperty(value = "failedDeployments", access = JsonProperty.Access.WRITE_ONLY) + private Integer failedDeployments; + + /** + * Get the number of deployments required by the remediation. + * + * @return the totalDeployments value + */ + public Integer totalDeployments() { + return this.totalDeployments; + } + + /** + * Get the number of deployments required by the remediation that have succeeded. + * + * @return the successfulDeployments value + */ + public Integer successfulDeployments() { + return this.successfulDeployments; + } + + /** + * Get the number of deployments required by the remediation that have failed. + * + * @return the failedDeployments value + */ + public Integer failedDeployments() { + return this.failedDeployments; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/RemediationFilters.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/RemediationFilters.java new file mode 100644 index 000000000000..0bf6d81b4433 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/RemediationFilters.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.policyinsights.v2020_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The filters that will be applied to determine which resources to remediate. + */ +public class RemediationFilters { + /** + * The resource locations that will be remediated. + */ + @JsonProperty(value = "locations") + private List locations; + + /** + * Get the resource locations that will be remediated. + * + * @return the locations value + */ + public List locations() { + return this.locations; + } + + /** + * Set the resource locations that will be remediated. + * + * @param locations the locations value to set + * @return the RemediationFilters object itself. + */ + public RemediationFilters withLocations(List locations) { + this.locations = locations; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/Remediations.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/Remediations.java new file mode 100644 index 000000000000..aa07e3e15c1d --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/Remediations.java @@ -0,0 +1,257 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.microsoft.azure.arm.collection.SupportsCreating; +import rx.Completable; +import rx.Observable; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.RemediationInner; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.RemediationsInner; +import com.microsoft.azure.arm.model.HasInner; + +/** + * Type representing Remediations. + */ +public interface Remediations extends SupportsCreating, HasInner { + /** + * Gets all deployments for a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listDeploymentsAtManagementGroupAsync(final String managementGroupId, final String remediationName); + + /** + * Cancels a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable cancelAtManagementGroupAsync(String managementGroupId, String remediationName); + + /** + * Gets all remediations for the management group. + * + * @param managementGroupId Management group ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listForManagementGroupAsync(final String managementGroupId); + + /** + * Gets an existing remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable getAtManagementGroupAsync(String managementGroupId, String remediationName); + + /** + * Deletes an existing remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable deleteAtManagementGroupAsync(String managementGroupId, String remediationName); + + /** + * Gets all deployments for a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listDeploymentsAtSubscriptionAsync(final String subscriptionId, final String remediationName); + + /** + * Cancels a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable cancelAtSubscriptionAsync(String subscriptionId, String remediationName); + + /** + * Creates or updates a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable createOrUpdateAtSubscriptionAsync(String subscriptionId, String remediationName, RemediationInner parameters); + + /** + * Gets an existing remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable getAtSubscriptionAsync(String subscriptionId, String remediationName); + + /** + * Deletes an existing remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable deleteAtSubscriptionAsync(String subscriptionId, String remediationName); + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listDeploymentsAtResourceGroupAsync(final String subscriptionId, final String resourceGroupName, final String remediationName); + + /** + * Cancels a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable cancelAtResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName); + + /** + * Creates or updates a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable createOrUpdateAtResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName, RemediationInner parameters); + + /** + * Gets an existing remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable getByResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName); + + /** + * Deletes an existing remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable deleteAtResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName); + + /** + * Gets all deployments for a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listDeploymentsAtResourceAsync(final String resourceId, final String remediationName); + + /** + * Cancel a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable cancelAtResourceAsync(String resourceId, String remediationName); + + /** + * Creates or updates a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable createOrUpdateAtResourceAsync(String resourceId, String remediationName, RemediationInner parameters); + + /** + * Gets an existing remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable getAtResourceAsync(String resourceId, String remediationName); + + /** + * Deletes an existing remediation at individual resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable deleteAtResourceAsync(String resourceId, String remediationName); + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listAsync(final String subscriptionId); + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listByResourceGroupAsync(final String subscriptionId, final String resourceGroupName); + + /** + * Gets all remediations for a resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + Observable listForResourceAsync(final String resourceId); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ResourceDiscoveryMode.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ResourceDiscoveryMode.java new file mode 100644 index 000000000000..a9a43aa82e5e --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/ResourceDiscoveryMode.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.policyinsights.v2020_07_01; + +import java.util.Collection; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.microsoft.rest.ExpandableStringEnum; + +/** + * Defines values for ResourceDiscoveryMode. + */ +public final class ResourceDiscoveryMode extends ExpandableStringEnum { + /** Static value ExistingNonCompliant for ResourceDiscoveryMode. */ + public static final ResourceDiscoveryMode EXISTING_NON_COMPLIANT = fromString("ExistingNonCompliant"); + + /** Static value ReEvaluateCompliance for ResourceDiscoveryMode. */ + public static final ResourceDiscoveryMode RE_EVALUATE_COMPLIANCE = fromString("ReEvaluateCompliance"); + + /** + * Creates or finds a ResourceDiscoveryMode from its string representation. + * @param name a name to look for + * @return the corresponding ResourceDiscoveryMode + */ + @JsonCreator + public static ResourceDiscoveryMode fromString(String name) { + return fromString(name, ResourceDiscoveryMode.class); + } + + /** + * @return known ResourceDiscoveryMode values + */ + public static Collection values() { + return values(ResourceDiscoveryMode.class); + } +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/SlimPolicyMetadata.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/SlimPolicyMetadata.java new file mode 100644 index 000000000000..8d1d472c6566 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/SlimPolicyMetadata.java @@ -0,0 +1,65 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.microsoft.azure.arm.model.HasInner; +import com.microsoft.azure.arm.resources.models.HasManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyInsightsManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.SlimPolicyMetadataInner; + +/** + * Type representing SlimPolicyMetadata. + */ +public interface SlimPolicyMetadata extends HasInner, HasManager { + /** + * @return the additionalContentUrl value. + */ + String additionalContentUrl(); + + /** + * @return the category value. + */ + String category(); + + /** + * @return the id value. + */ + String id(); + + /** + * @return the metadata value. + */ + Object metadata(); + + /** + * @return the metadataId value. + */ + String metadataId(); + + /** + * @return the name value. + */ + String name(); + + /** + * @return the owner value. + */ + String owner(); + + /** + * @return the title value. + */ + String title(); + + /** + * @return the type value. + */ + String type(); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/SummarizeResults.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/SummarizeResults.java new file mode 100644 index 000000000000..f67f63a1cf3f --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/SummarizeResults.java @@ -0,0 +1,36 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import com.microsoft.azure.arm.model.HasInner; +import com.microsoft.azure.arm.resources.models.HasManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.PolicyInsightsManager; +import com.microsoft.azure.management.policyinsights.v2020_07_01.implementation.SummarizeResultsInner; +import java.util.List; + +/** + * Type representing SummarizeResults. + */ +public interface SummarizeResults extends HasInner, HasManager { + /** + * @return the odatacontext value. + */ + String odatacontext(); + + /** + * @return the odatacount value. + */ + Integer odatacount(); + + /** + * @return the value value. + */ + List value(); + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/Summary.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/Summary.java new file mode 100644 index 000000000000..9eb1b99395af --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/Summary.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.policyinsights.v2020_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Summary results. + */ +public class Summary { + /** + * OData entity ID; always set to null since summaries do not have an + * entity ID. + */ + @JsonProperty(value = "@odata\\.id") + private String odataid; + + /** + * OData context string; used by OData clients to resolve type information + * based on metadata. + */ + @JsonProperty(value = "@odata\\.context") + private String odatacontext; + + /** + * Compliance summary for all policy assignments. + */ + @JsonProperty(value = "results") + private SummaryResults results; + + /** + * Policy assignments summary. + */ + @JsonProperty(value = "policyAssignments") + private List policyAssignments; + + /** + * Get oData entity ID; always set to null since summaries do not have an entity ID. + * + * @return the odataid value + */ + public String odataid() { + return this.odataid; + } + + /** + * Set oData entity ID; always set to null since summaries do not have an entity ID. + * + * @param odataid the odataid value to set + * @return the Summary object itself. + */ + public Summary withOdataid(String odataid) { + this.odataid = odataid; + return this; + } + + /** + * Get oData context string; used by OData clients to resolve type information based on metadata. + * + * @return the odatacontext value + */ + public String odatacontext() { + return this.odatacontext; + } + + /** + * Set oData context string; used by OData clients to resolve type information based on metadata. + * + * @param odatacontext the odatacontext value to set + * @return the Summary object itself. + */ + public Summary withOdatacontext(String odatacontext) { + this.odatacontext = odatacontext; + return this; + } + + /** + * Get compliance summary for all policy assignments. + * + * @return the results value + */ + public SummaryResults results() { + return this.results; + } + + /** + * Set compliance summary for all policy assignments. + * + * @param results the results value to set + * @return the Summary object itself. + */ + public Summary withResults(SummaryResults results) { + this.results = results; + return this; + } + + /** + * Get policy assignments summary. + * + * @return the policyAssignments value + */ + public List policyAssignments() { + return this.policyAssignments; + } + + /** + * Set policy assignments summary. + * + * @param policyAssignments the policyAssignments value to set + * @return the Summary object itself. + */ + public Summary withPolicyAssignments(List policyAssignments) { + this.policyAssignments = policyAssignments; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/SummaryResults.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/SummaryResults.java new file mode 100644 index 000000000000..b526b4a1501c --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/SummaryResults.java @@ -0,0 +1,179 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Compliance summary on a particular summary level. + */ +public class SummaryResults { + /** + * HTTP POST URI for queryResults action on Microsoft.PolicyInsights to + * retrieve raw results for the compliance summary. This property will not + * be available by default in future API versions, but could be queried + * explicitly. + */ + @JsonProperty(value = "queryResultsUri") + private String queryResultsUri; + + /** + * Number of non-compliant resources. + */ + @JsonProperty(value = "nonCompliantResources") + private Integer nonCompliantResources; + + /** + * Number of non-compliant policies. + */ + @JsonProperty(value = "nonCompliantPolicies") + private Integer nonCompliantPolicies; + + /** + * The resources summary at this level. + */ + @JsonProperty(value = "resourceDetails") + private List resourceDetails; + + /** + * The policy artifact summary at this level. For query scope level, it + * represents policy assignment summary. For policy assignment level, it + * represents policy definitions summary. + */ + @JsonProperty(value = "policyDetails") + private List policyDetails; + + /** + * The policy definition group summary at this level. + */ + @JsonProperty(value = "policyGroupDetails") + private List policyGroupDetails; + + /** + * Get hTTP POST URI for queryResults action on Microsoft.PolicyInsights to retrieve raw results for the compliance summary. This property will not be available by default in future API versions, but could be queried explicitly. + * + * @return the queryResultsUri value + */ + public String queryResultsUri() { + return this.queryResultsUri; + } + + /** + * Set hTTP POST URI for queryResults action on Microsoft.PolicyInsights to retrieve raw results for the compliance summary. This property will not be available by default in future API versions, but could be queried explicitly. + * + * @param queryResultsUri the queryResultsUri value to set + * @return the SummaryResults object itself. + */ + public SummaryResults withQueryResultsUri(String queryResultsUri) { + this.queryResultsUri = queryResultsUri; + return this; + } + + /** + * Get number of non-compliant resources. + * + * @return the nonCompliantResources value + */ + public Integer nonCompliantResources() { + return this.nonCompliantResources; + } + + /** + * Set number of non-compliant resources. + * + * @param nonCompliantResources the nonCompliantResources value to set + * @return the SummaryResults object itself. + */ + public SummaryResults withNonCompliantResources(Integer nonCompliantResources) { + this.nonCompliantResources = nonCompliantResources; + return this; + } + + /** + * Get number of non-compliant policies. + * + * @return the nonCompliantPolicies value + */ + public Integer nonCompliantPolicies() { + return this.nonCompliantPolicies; + } + + /** + * Set number of non-compliant policies. + * + * @param nonCompliantPolicies the nonCompliantPolicies value to set + * @return the SummaryResults object itself. + */ + public SummaryResults withNonCompliantPolicies(Integer nonCompliantPolicies) { + this.nonCompliantPolicies = nonCompliantPolicies; + return this; + } + + /** + * Get the resources summary at this level. + * + * @return the resourceDetails value + */ + public List resourceDetails() { + return this.resourceDetails; + } + + /** + * Set the resources summary at this level. + * + * @param resourceDetails the resourceDetails value to set + * @return the SummaryResults object itself. + */ + public SummaryResults withResourceDetails(List resourceDetails) { + this.resourceDetails = resourceDetails; + return this; + } + + /** + * Get the policy artifact summary at this level. For query scope level, it represents policy assignment summary. For policy assignment level, it represents policy definitions summary. + * + * @return the policyDetails value + */ + public List policyDetails() { + return this.policyDetails; + } + + /** + * Set the policy artifact summary at this level. For query scope level, it represents policy assignment summary. For policy assignment level, it represents policy definitions summary. + * + * @param policyDetails the policyDetails value to set + * @return the SummaryResults object itself. + */ + public SummaryResults withPolicyDetails(List policyDetails) { + this.policyDetails = policyDetails; + return this; + } + + /** + * Get the policy definition group summary at this level. + * + * @return the policyGroupDetails value + */ + public List policyGroupDetails() { + return this.policyGroupDetails; + } + + /** + * Set the policy definition group summary at this level. + * + * @param policyGroupDetails the policyGroupDetails value to set + * @return the SummaryResults object itself. + */ + public SummaryResults withPolicyGroupDetails(List policyGroupDetails) { + this.policyGroupDetails = policyGroupDetails; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/TrackedResourceModificationDetails.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/TrackedResourceModificationDetails.java new file mode 100644 index 000000000000..2c5f9a8ee253 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/TrackedResourceModificationDetails.java @@ -0,0 +1,65 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01; + +import org.joda.time.DateTime; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The details of the policy triggered deployment that created or modified the + * tracked resource. + */ +public class TrackedResourceModificationDetails { + /** + * The details of the policy that created or modified the tracked resource. + */ + @JsonProperty(value = "policyDetails", access = JsonProperty.Access.WRITE_ONLY) + private PolicyDetails policyDetails; + + /** + * The ID of the deployment that created or modified the tracked resource. + */ + @JsonProperty(value = "deploymentId", access = JsonProperty.Access.WRITE_ONLY) + private String deploymentId; + + /** + * Timestamp of the deployment that created or modified the tracked + * resource. + */ + @JsonProperty(value = "deploymentTime", access = JsonProperty.Access.WRITE_ONLY) + private DateTime deploymentTime; + + /** + * Get the details of the policy that created or modified the tracked resource. + * + * @return the policyDetails value + */ + public PolicyDetails policyDetails() { + return this.policyDetails; + } + + /** + * Get the ID of the deployment that created or modified the tracked resource. + * + * @return the deploymentId value + */ + public String deploymentId() { + return this.deploymentId; + } + + /** + * Get timestamp of the deployment that created or modified the tracked resource. + * + * @return the deploymentTime value + */ + public DateTime deploymentTime() { + return this.deploymentTime; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/TypedErrorInfo.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/TypedErrorInfo.java new file mode 100644 index 000000000000..fa8d8f44e246 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/TypedErrorInfo.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.policyinsights.v2020_07_01; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Scenario specific error details. + */ +public class TypedErrorInfo { + /** + * The type of included error details. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /** + * The scenario specific error details. + */ + @JsonProperty(value = "info", access = JsonProperty.Access.WRITE_ONLY) + private Object info; + + /** + * Get the type of included error details. + * + * @return the type value + */ + public String type() { + return this.type; + } + + /** + * Get the scenario specific error details. + * + * @return the info value + */ + public Object info() { + return this.info; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/CheckRestrictionsResultImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/CheckRestrictionsResultImpl.java new file mode 100644 index 000000000000..19761488ce09 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/CheckRestrictionsResultImpl.java @@ -0,0 +1,39 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.CheckRestrictionsResult; +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import com.microsoft.azure.management.policyinsights.v2020_07_01.CheckRestrictionsResultContentEvaluationResult; +import java.util.List; +import com.microsoft.azure.management.policyinsights.v2020_07_01.FieldRestrictions; + +class CheckRestrictionsResultImpl extends WrapperImpl implements CheckRestrictionsResult { + private final PolicyInsightsManager manager; + CheckRestrictionsResultImpl(CheckRestrictionsResultInner inner, PolicyInsightsManager manager) { + super(inner); + this.manager = manager; + } + + @Override + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public CheckRestrictionsResultContentEvaluationResult contentEvaluationResult() { + return this.inner().contentEvaluationResult(); + } + + @Override + public List fieldRestrictions() { + return this.inner().fieldRestrictions(); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/CheckRestrictionsResultInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/CheckRestrictionsResultInner.java new file mode 100644 index 000000000000..d83a335640c9 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/CheckRestrictionsResultInner.java @@ -0,0 +1,51 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import java.util.List; +import com.microsoft.azure.management.policyinsights.v2020_07_01.FieldRestrictions; +import com.microsoft.azure.management.policyinsights.v2020_07_01.CheckRestrictionsResultContentEvaluationResult; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The result of a check policy restrictions evaluation on a resource. + */ +public class CheckRestrictionsResultInner { + /** + * The restrictions that will be placed on various fields in the resource + * by policy. + */ + @JsonProperty(value = "fieldRestrictions", access = JsonProperty.Access.WRITE_ONLY) + private List fieldRestrictions; + + /** + * Evaluation results for the provided partial resource content. + */ + @JsonProperty(value = "contentEvaluationResult", access = JsonProperty.Access.WRITE_ONLY) + private CheckRestrictionsResultContentEvaluationResult contentEvaluationResult; + + /** + * Get the restrictions that will be placed on various fields in the resource by policy. + * + * @return the fieldRestrictions value + */ + public List fieldRestrictions() { + return this.fieldRestrictions; + } + + /** + * Get evaluation results for the provided partial resource content. + * + * @return the contentEvaluationResult value + */ + public CheckRestrictionsResultContentEvaluationResult contentEvaluationResult() { + return this.contentEvaluationResult; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/IdParsingUtils.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/IdParsingUtils.java new file mode 100644 index 000000000000..a6a521778fad --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_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.policyinsights.v2020_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/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationInner.java new file mode 100644 index 000000000000..50ada4d68fd3 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_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.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.OperationDisplay; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Operation definition. + */ +public class OperationInner { + /** + * Operation name. + */ + @JsonProperty(value = "name") + private String name; + + /** + * Display metadata associated with the operation. + */ + @JsonProperty(value = "display") + private OperationDisplay display; + + /** + * Get operation name. + * + * @return the name value + */ + public String name() { + return this.name; + } + + /** + * Set operation name. + * + * @param name the name value to set + * @return the OperationInner object itself. + */ + public OperationInner withName(String name) { + this.name = name; + return this; + } + + /** + * Get display metadata associated with the operation. + * + * @return the display value + */ + public OperationDisplay display() { + return this.display; + } + + /** + * Set display metadata associated with 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/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationsImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationsImpl.java new file mode 100644 index 000000000000..537868a79e3b --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationsImpl.java @@ -0,0 +1,42 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * abc + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import com.microsoft.azure.management.policyinsights.v2020_07_01.Operations; +import rx.functions.Func1; +import rx.Observable; +import com.microsoft.azure.management.policyinsights.v2020_07_01.OperationsListResults; + +class OperationsImpl extends WrapperImpl implements Operations { + private final PolicyInsightsManager manager; + + OperationsImpl(PolicyInsightsManager manager) { + super(manager.inner().operations()); + this.manager = manager; + } + + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public Observable listAsync() { + OperationsInner client = this.inner(); + return client.listAsync() + .map(new Func1() { + @Override + public OperationsListResults call(OperationsListResultsInner inner) { + return new OperationsListResultsImpl(inner, manager()); + } + }); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationsInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationsInner.java new file mode 100644 index 000000000000..5f4ae3df9541 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationsInner.java @@ -0,0 +1,126 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import retrofit2.Retrofit; +import com.google.common.reflect.TypeToken; +import com.microsoft.azure.management.policyinsights.v2020_07_01.QueryFailureException; +import com.microsoft.rest.ServiceCallback; +import com.microsoft.rest.ServiceFuture; +import com.microsoft.rest.ServiceResponse; +import java.io.IOException; +import okhttp3.ResponseBody; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +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 Operations. + */ +public class OperationsInner { + /** The Retrofit service to perform REST calls. */ + private OperationsService service; + /** The service client containing this operation class. */ + private PolicyInsightsClientImpl client; + + /** + * Initializes an instance of OperationsInner. + * + * @param retrofit the Retrofit instance built from a Retrofit Builder. + * @param client the instance of the service client containing this operation class. + */ + public OperationsInner(Retrofit retrofit, PolicyInsightsClientImpl client) { + this.service = retrofit.create(OperationsService.class); + this.client = client; + } + + /** + * The interface defining all the services for Operations to be + * used by Retrofit to perform actually REST calls. + */ + interface OperationsService { + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.Operations list" }) + @GET("providers/Microsoft.PolicyInsights/operations") + Observable> list(@Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent); + + } + + /** + * Lists available operations. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the OperationsListResultsInner object if successful. + */ + public OperationsListResultsInner list() { + return listWithServiceResponseAsync().toBlocking().single().body(); + } + + /** + * Lists available operations. + * + * @param serviceCallback the async ServiceCallback to handle successful and failed responses. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceFuture} object + */ + public ServiceFuture listAsync(final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(listWithServiceResponseAsync(), serviceCallback); + } + + /** + * Lists available operations. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the OperationsListResultsInner object + */ + public Observable listAsync() { + return listWithServiceResponseAsync().map(new Func1, OperationsListResultsInner>() { + @Override + public OperationsListResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Lists available operations. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the OperationsListResultsInner object + */ + public Observable> listWithServiceResponseAsync() { + final String apiVersion = "2019-10-01"; + return service.list(apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = listDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse listDelegate(Response response) throws QueryFailureException, IOException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationsListResultsImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationsListResultsImpl.java new file mode 100644 index 000000000000..cb97319a5f11 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationsListResultsImpl.java @@ -0,0 +1,37 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.OperationsListResults; +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import java.util.List; + +class OperationsListResultsImpl extends WrapperImpl implements OperationsListResults { + private final PolicyInsightsManager manager; + OperationsListResultsImpl(OperationsListResultsInner inner, PolicyInsightsManager manager) { + super(inner); + this.manager = manager; + } + + @Override + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public Integer odatacount() { + return this.inner().odatacount(); + } + + @Override + public List value() { + return this.inner().value(); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationsListResultsInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationsListResultsInner.java new file mode 100644 index 000000000000..9f0371739689 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/OperationsListResultsInner.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.policyinsights.v2020_07_01.implementation; + +import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * List of available operations. + */ +public class OperationsListResultsInner { + /** + * OData entity count; represents the number of operations returned. + */ + @JsonProperty(value = "@odata\\.count") + private Integer odatacount; + + /** + * List of available operations. + */ + @JsonProperty(value = "value") + private List value; + + /** + * Get oData entity count; represents the number of operations returned. + * + * @return the odatacount value + */ + public Integer odatacount() { + return this.odatacount; + } + + /** + * Set oData entity count; represents the number of operations returned. + * + * @param odatacount the odatacount value to set + * @return the OperationsListResultsInner object itself. + */ + public OperationsListResultsInner withOdatacount(Integer odatacount) { + this.odatacount = odatacount; + return this; + } + + /** + * Get list of available operations. + * + * @return the value value + */ + public List value() { + return this.value; + } + + /** + * Set list of available operations. + * + * @param value the value value to set + * @return the OperationsListResultsInner object itself. + */ + public OperationsListResultsInner withValue(List value) { + this.value = value; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PageImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PageImpl.java new file mode 100644 index 000000000000..e533198fa80d --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_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.policyinsights.v2020_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/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PageImpl1.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PageImpl1.java new file mode 100644 index 000000000000..37b0a947d3c7 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_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.policyinsights.v2020_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("@odata.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 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/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyEventImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyEventImpl.java new file mode 100644 index 000000000000..19a3078012c1 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyEventImpl.java @@ -0,0 +1,190 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvent; +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import java.util.Map; +import java.util.List; +import com.microsoft.azure.management.policyinsights.v2020_07_01.ComponentEventDetails; +import org.joda.time.DateTime; + +class PolicyEventImpl extends WrapperImpl implements PolicyEvent { + private final PolicyInsightsManager manager; + PolicyEventImpl(PolicyEventInner inner, PolicyInsightsManager manager) { + super(inner); + this.manager = manager; + } + + @Override + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public Map additionalProperties() { + return this.inner().additionalProperties(); + } + + @Override + public String complianceState() { + return this.inner().complianceState(); + } + + @Override + public List components() { + return this.inner().components(); + } + + @Override + public String effectiveParameters() { + return this.inner().effectiveParameters(); + } + + @Override + public Boolean isCompliant() { + return this.inner().isCompliant(); + } + + @Override + public String managementGroupIds() { + return this.inner().managementGroupIds(); + } + + @Override + public String odatacontext() { + return this.inner().odatacontext(); + } + + @Override + public String odataid() { + return this.inner().odataid(); + } + + @Override + public String policyAssignmentId() { + return this.inner().policyAssignmentId(); + } + + @Override + public String policyAssignmentName() { + return this.inner().policyAssignmentName(); + } + + @Override + public String policyAssignmentOwner() { + return this.inner().policyAssignmentOwner(); + } + + @Override + public String policyAssignmentParameters() { + return this.inner().policyAssignmentParameters(); + } + + @Override + public String policyAssignmentScope() { + return this.inner().policyAssignmentScope(); + } + + @Override + public String policyDefinitionAction() { + return this.inner().policyDefinitionAction(); + } + + @Override + public String policyDefinitionCategory() { + return this.inner().policyDefinitionCategory(); + } + + @Override + public String policyDefinitionId() { + return this.inner().policyDefinitionId(); + } + + @Override + public String policyDefinitionName() { + return this.inner().policyDefinitionName(); + } + + @Override + public String policyDefinitionReferenceId() { + return this.inner().policyDefinitionReferenceId(); + } + + @Override + public String policySetDefinitionCategory() { + return this.inner().policySetDefinitionCategory(); + } + + @Override + public String policySetDefinitionId() { + return this.inner().policySetDefinitionId(); + } + + @Override + public String policySetDefinitionName() { + return this.inner().policySetDefinitionName(); + } + + @Override + public String policySetDefinitionOwner() { + return this.inner().policySetDefinitionOwner(); + } + + @Override + public String policySetDefinitionParameters() { + return this.inner().policySetDefinitionParameters(); + } + + @Override + public String principalOid() { + return this.inner().principalOid(); + } + + @Override + public String resourceGroup() { + return this.inner().resourceGroup(); + } + + @Override + public String resourceId() { + return this.inner().resourceId(); + } + + @Override + public String resourceLocation() { + return this.inner().resourceLocation(); + } + + @Override + public String resourceTags() { + return this.inner().resourceTags(); + } + + @Override + public String resourceType() { + return this.inner().resourceType(); + } + + @Override + public String subscriptionId() { + return this.inner().subscriptionId(); + } + + @Override + public String tenantId() { + return this.inner().tenantId(); + } + + @Override + public DateTime timestamp() { + return this.inner().timestamp(); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyEventInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyEventInner.java new file mode 100644 index 000000000000..4eab1258d05a --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyEventInner.java @@ -0,0 +1,864 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import java.util.Map; +import org.joda.time.DateTime; +import java.util.List; +import com.microsoft.azure.management.policyinsights.v2020_07_01.ComponentEventDetails; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Policy event record. + */ +public class PolicyEventInner { + /** + * Unmatched properties from the message are deserialized this collection. + */ + @JsonProperty(value = "") + private Map additionalProperties; + + /** + * OData entity ID; always set to null since policy event records do not + * have an entity ID. + */ + @JsonProperty(value = "@odata\\.id") + private String odataid; + + /** + * OData context string; used by OData clients to resolve type information + * based on metadata. + */ + @JsonProperty(value = "@odata\\.context") + private String odatacontext; + + /** + * Timestamp for the policy event record. + */ + @JsonProperty(value = "timestamp") + private DateTime timestamp; + + /** + * Resource ID. + */ + @JsonProperty(value = "resourceId") + private String resourceId; + + /** + * Policy assignment ID. + */ + @JsonProperty(value = "policyAssignmentId") + private String policyAssignmentId; + + /** + * Policy definition ID. + */ + @JsonProperty(value = "policyDefinitionId") + private String policyDefinitionId; + + /** + * Effective parameters for the policy assignment. + */ + @JsonProperty(value = "effectiveParameters") + private String effectiveParameters; + + /** + * Flag which states whether the resource is compliant against the policy + * assignment it was evaluated against. + */ + @JsonProperty(value = "isCompliant") + private Boolean isCompliant; + + /** + * Subscription ID. + */ + @JsonProperty(value = "subscriptionId") + private String subscriptionId; + + /** + * Resource type. + */ + @JsonProperty(value = "resourceType") + private String resourceType; + + /** + * Resource location. + */ + @JsonProperty(value = "resourceLocation") + private String resourceLocation; + + /** + * Resource group name. + */ + @JsonProperty(value = "resourceGroup") + private String resourceGroup; + + /** + * List of resource tags. + */ + @JsonProperty(value = "resourceTags") + private String resourceTags; + + /** + * Policy assignment name. + */ + @JsonProperty(value = "policyAssignmentName") + private String policyAssignmentName; + + /** + * Policy assignment owner. + */ + @JsonProperty(value = "policyAssignmentOwner") + private String policyAssignmentOwner; + + /** + * Policy assignment parameters. + */ + @JsonProperty(value = "policyAssignmentParameters") + private String policyAssignmentParameters; + + /** + * Policy assignment scope. + */ + @JsonProperty(value = "policyAssignmentScope") + private String policyAssignmentScope; + + /** + * Policy definition name. + */ + @JsonProperty(value = "policyDefinitionName") + private String policyDefinitionName; + + /** + * Policy definition action, i.e. effect. + */ + @JsonProperty(value = "policyDefinitionAction") + private String policyDefinitionAction; + + /** + * Policy definition category. + */ + @JsonProperty(value = "policyDefinitionCategory") + private String policyDefinitionCategory; + + /** + * Policy set definition ID, if the policy assignment is for a policy set. + */ + @JsonProperty(value = "policySetDefinitionId") + private String policySetDefinitionId; + + /** + * Policy set definition name, if the policy assignment is for a policy + * set. + */ + @JsonProperty(value = "policySetDefinitionName") + private String policySetDefinitionName; + + /** + * Policy set definition owner, if the policy assignment is for a policy + * set. + */ + @JsonProperty(value = "policySetDefinitionOwner") + private String policySetDefinitionOwner; + + /** + * Policy set definition category, if the policy assignment is for a policy + * set. + */ + @JsonProperty(value = "policySetDefinitionCategory") + private String policySetDefinitionCategory; + + /** + * Policy set definition parameters, if the policy assignment is for a + * policy set. + */ + @JsonProperty(value = "policySetDefinitionParameters") + private String policySetDefinitionParameters; + + /** + * Comma separated list of management group IDs, which represent the + * hierarchy of the management groups the resource is under. + */ + @JsonProperty(value = "managementGroupIds") + private String managementGroupIds; + + /** + * Reference ID for the policy definition inside the policy set, if the + * policy assignment is for a policy set. + */ + @JsonProperty(value = "policyDefinitionReferenceId") + private String policyDefinitionReferenceId; + + /** + * Compliance state of the resource. + */ + @JsonProperty(value = "complianceState") + private String complianceState; + + /** + * Tenant ID for the policy event record. + */ + @JsonProperty(value = "tenantId") + private String tenantId; + + /** + * Principal object ID for the user who initiated the resource operation + * that triggered the policy event. + */ + @JsonProperty(value = "principalOid") + private String principalOid; + + /** + * Components events records populated only when URL contains + * $expand=components clause. + */ + @JsonProperty(value = "components") + private List components; + + /** + * Get unmatched properties from the message are deserialized this collection. + * + * @return the additionalProperties value + */ + public Map additionalProperties() { + return this.additionalProperties; + } + + /** + * Set unmatched properties from the message are deserialized this collection. + * + * @param additionalProperties the additionalProperties value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + return this; + } + + /** + * Get oData entity ID; always set to null since policy event records do not have an entity ID. + * + * @return the odataid value + */ + public String odataid() { + return this.odataid; + } + + /** + * Set oData entity ID; always set to null since policy event records do not have an entity ID. + * + * @param odataid the odataid value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withOdataid(String odataid) { + this.odataid = odataid; + return this; + } + + /** + * Get oData context string; used by OData clients to resolve type information based on metadata. + * + * @return the odatacontext value + */ + public String odatacontext() { + return this.odatacontext; + } + + /** + * Set oData context string; used by OData clients to resolve type information based on metadata. + * + * @param odatacontext the odatacontext value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withOdatacontext(String odatacontext) { + this.odatacontext = odatacontext; + return this; + } + + /** + * Get timestamp for the policy event record. + * + * @return the timestamp value + */ + public DateTime timestamp() { + return this.timestamp; + } + + /** + * Set timestamp for the policy event record. + * + * @param timestamp the timestamp value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withTimestamp(DateTime timestamp) { + this.timestamp = timestamp; + return this; + } + + /** + * Get resource ID. + * + * @return the resourceId value + */ + public String resourceId() { + return this.resourceId; + } + + /** + * Set resource ID. + * + * @param resourceId the resourceId value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withResourceId(String resourceId) { + this.resourceId = resourceId; + return this; + } + + /** + * Get policy assignment ID. + * + * @return the policyAssignmentId value + */ + public String policyAssignmentId() { + return this.policyAssignmentId; + } + + /** + * Set policy assignment ID. + * + * @param policyAssignmentId the policyAssignmentId value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicyAssignmentId(String policyAssignmentId) { + this.policyAssignmentId = policyAssignmentId; + return this; + } + + /** + * Get policy definition ID. + * + * @return the policyDefinitionId value + */ + public String policyDefinitionId() { + return this.policyDefinitionId; + } + + /** + * Set policy definition ID. + * + * @param policyDefinitionId the policyDefinitionId value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicyDefinitionId(String policyDefinitionId) { + this.policyDefinitionId = policyDefinitionId; + return this; + } + + /** + * Get effective parameters for the policy assignment. + * + * @return the effectiveParameters value + */ + public String effectiveParameters() { + return this.effectiveParameters; + } + + /** + * Set effective parameters for the policy assignment. + * + * @param effectiveParameters the effectiveParameters value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withEffectiveParameters(String effectiveParameters) { + this.effectiveParameters = effectiveParameters; + return this; + } + + /** + * Get flag which states whether the resource is compliant against the policy assignment it was evaluated against. + * + * @return the isCompliant value + */ + public Boolean isCompliant() { + return this.isCompliant; + } + + /** + * Set flag which states whether the resource is compliant against the policy assignment it was evaluated against. + * + * @param isCompliant the isCompliant value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withIsCompliant(Boolean isCompliant) { + this.isCompliant = isCompliant; + return this; + } + + /** + * Get subscription ID. + * + * @return the subscriptionId value + */ + public String subscriptionId() { + return this.subscriptionId; + } + + /** + * Set subscription ID. + * + * @param subscriptionId the subscriptionId value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withSubscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Get resource type. + * + * @return the resourceType value + */ + public String resourceType() { + return this.resourceType; + } + + /** + * Set resource type. + * + * @param resourceType the resourceType value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withResourceType(String resourceType) { + this.resourceType = resourceType; + return this; + } + + /** + * Get resource location. + * + * @return the resourceLocation value + */ + public String resourceLocation() { + return this.resourceLocation; + } + + /** + * Set resource location. + * + * @param resourceLocation the resourceLocation value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withResourceLocation(String resourceLocation) { + this.resourceLocation = resourceLocation; + return this; + } + + /** + * Get resource group name. + * + * @return the resourceGroup value + */ + public String resourceGroup() { + return this.resourceGroup; + } + + /** + * Set resource group name. + * + * @param resourceGroup the resourceGroup value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withResourceGroup(String resourceGroup) { + this.resourceGroup = resourceGroup; + return this; + } + + /** + * Get list of resource tags. + * + * @return the resourceTags value + */ + public String resourceTags() { + return this.resourceTags; + } + + /** + * Set list of resource tags. + * + * @param resourceTags the resourceTags value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withResourceTags(String resourceTags) { + this.resourceTags = resourceTags; + return this; + } + + /** + * Get policy assignment name. + * + * @return the policyAssignmentName value + */ + public String policyAssignmentName() { + return this.policyAssignmentName; + } + + /** + * Set policy assignment name. + * + * @param policyAssignmentName the policyAssignmentName value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicyAssignmentName(String policyAssignmentName) { + this.policyAssignmentName = policyAssignmentName; + return this; + } + + /** + * Get policy assignment owner. + * + * @return the policyAssignmentOwner value + */ + public String policyAssignmentOwner() { + return this.policyAssignmentOwner; + } + + /** + * Set policy assignment owner. + * + * @param policyAssignmentOwner the policyAssignmentOwner value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicyAssignmentOwner(String policyAssignmentOwner) { + this.policyAssignmentOwner = policyAssignmentOwner; + return this; + } + + /** + * Get policy assignment parameters. + * + * @return the policyAssignmentParameters value + */ + public String policyAssignmentParameters() { + return this.policyAssignmentParameters; + } + + /** + * Set policy assignment parameters. + * + * @param policyAssignmentParameters the policyAssignmentParameters value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicyAssignmentParameters(String policyAssignmentParameters) { + this.policyAssignmentParameters = policyAssignmentParameters; + return this; + } + + /** + * Get policy assignment scope. + * + * @return the policyAssignmentScope value + */ + public String policyAssignmentScope() { + return this.policyAssignmentScope; + } + + /** + * Set policy assignment scope. + * + * @param policyAssignmentScope the policyAssignmentScope value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicyAssignmentScope(String policyAssignmentScope) { + this.policyAssignmentScope = policyAssignmentScope; + return this; + } + + /** + * Get policy definition name. + * + * @return the policyDefinitionName value + */ + public String policyDefinitionName() { + return this.policyDefinitionName; + } + + /** + * Set policy definition name. + * + * @param policyDefinitionName the policyDefinitionName value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicyDefinitionName(String policyDefinitionName) { + this.policyDefinitionName = policyDefinitionName; + return this; + } + + /** + * Get policy definition action, i.e. effect. + * + * @return the policyDefinitionAction value + */ + public String policyDefinitionAction() { + return this.policyDefinitionAction; + } + + /** + * Set policy definition action, i.e. effect. + * + * @param policyDefinitionAction the policyDefinitionAction value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicyDefinitionAction(String policyDefinitionAction) { + this.policyDefinitionAction = policyDefinitionAction; + return this; + } + + /** + * Get policy definition category. + * + * @return the policyDefinitionCategory value + */ + public String policyDefinitionCategory() { + return this.policyDefinitionCategory; + } + + /** + * Set policy definition category. + * + * @param policyDefinitionCategory the policyDefinitionCategory value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicyDefinitionCategory(String policyDefinitionCategory) { + this.policyDefinitionCategory = policyDefinitionCategory; + return this; + } + + /** + * Get policy set definition ID, if the policy assignment is for a policy set. + * + * @return the policySetDefinitionId value + */ + public String policySetDefinitionId() { + return this.policySetDefinitionId; + } + + /** + * Set policy set definition ID, if the policy assignment is for a policy set. + * + * @param policySetDefinitionId the policySetDefinitionId value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicySetDefinitionId(String policySetDefinitionId) { + this.policySetDefinitionId = policySetDefinitionId; + return this; + } + + /** + * Get policy set definition name, if the policy assignment is for a policy set. + * + * @return the policySetDefinitionName value + */ + public String policySetDefinitionName() { + return this.policySetDefinitionName; + } + + /** + * Set policy set definition name, if the policy assignment is for a policy set. + * + * @param policySetDefinitionName the policySetDefinitionName value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicySetDefinitionName(String policySetDefinitionName) { + this.policySetDefinitionName = policySetDefinitionName; + return this; + } + + /** + * Get policy set definition owner, if the policy assignment is for a policy set. + * + * @return the policySetDefinitionOwner value + */ + public String policySetDefinitionOwner() { + return this.policySetDefinitionOwner; + } + + /** + * Set policy set definition owner, if the policy assignment is for a policy set. + * + * @param policySetDefinitionOwner the policySetDefinitionOwner value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicySetDefinitionOwner(String policySetDefinitionOwner) { + this.policySetDefinitionOwner = policySetDefinitionOwner; + return this; + } + + /** + * Get policy set definition category, if the policy assignment is for a policy set. + * + * @return the policySetDefinitionCategory value + */ + public String policySetDefinitionCategory() { + return this.policySetDefinitionCategory; + } + + /** + * Set policy set definition category, if the policy assignment is for a policy set. + * + * @param policySetDefinitionCategory the policySetDefinitionCategory value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicySetDefinitionCategory(String policySetDefinitionCategory) { + this.policySetDefinitionCategory = policySetDefinitionCategory; + return this; + } + + /** + * Get policy set definition parameters, if the policy assignment is for a policy set. + * + * @return the policySetDefinitionParameters value + */ + public String policySetDefinitionParameters() { + return this.policySetDefinitionParameters; + } + + /** + * Set policy set definition parameters, if the policy assignment is for a policy set. + * + * @param policySetDefinitionParameters the policySetDefinitionParameters value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicySetDefinitionParameters(String policySetDefinitionParameters) { + this.policySetDefinitionParameters = policySetDefinitionParameters; + return this; + } + + /** + * Get comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under. + * + * @return the managementGroupIds value + */ + public String managementGroupIds() { + return this.managementGroupIds; + } + + /** + * Set comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under. + * + * @param managementGroupIds the managementGroupIds value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withManagementGroupIds(String managementGroupIds) { + this.managementGroupIds = managementGroupIds; + return this; + } + + /** + * Get reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set. + * + * @return the policyDefinitionReferenceId value + */ + public String policyDefinitionReferenceId() { + return this.policyDefinitionReferenceId; + } + + /** + * Set reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set. + * + * @param policyDefinitionReferenceId the policyDefinitionReferenceId value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPolicyDefinitionReferenceId(String policyDefinitionReferenceId) { + this.policyDefinitionReferenceId = policyDefinitionReferenceId; + return this; + } + + /** + * Get compliance state of the resource. + * + * @return the complianceState value + */ + public String complianceState() { + return this.complianceState; + } + + /** + * Set compliance state of the resource. + * + * @param complianceState the complianceState value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withComplianceState(String complianceState) { + this.complianceState = complianceState; + return this; + } + + /** + * Get tenant ID for the policy event record. + * + * @return the tenantId value + */ + public String tenantId() { + return this.tenantId; + } + + /** + * Set tenant ID for the policy event record. + * + * @param tenantId the tenantId value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withTenantId(String tenantId) { + this.tenantId = tenantId; + return this; + } + + /** + * Get principal object ID for the user who initiated the resource operation that triggered the policy event. + * + * @return the principalOid value + */ + public String principalOid() { + return this.principalOid; + } + + /** + * Set principal object ID for the user who initiated the resource operation that triggered the policy event. + * + * @param principalOid the principalOid value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withPrincipalOid(String principalOid) { + this.principalOid = principalOid; + return this; + } + + /** + * Get components events records populated only when URL contains $expand=components clause. + * + * @return the components value + */ + public List components() { + return this.components; + } + + /** + * Set components events records populated only when URL contains $expand=components clause. + * + * @param components the components value to set + * @return the PolicyEventInner object itself. + */ + public PolicyEventInner withComponents(List components) { + this.components = components; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyEventsImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyEventsImpl.java new file mode 100644 index 000000000000..e5f456108a6c --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyEventsImpl.java @@ -0,0 +1,175 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * abc + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvents; +import rx.functions.Func1; +import rx.Observable; +import com.microsoft.azure.Page; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvent; + +class PolicyEventsImpl extends WrapperImpl implements PolicyEvents { + private final PolicyInsightsManager manager; + + PolicyEventsImpl(PolicyInsightsManager manager) { + super(manager.inner().policyEvents()); + this.manager = manager; + } + + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public Observable listQueryResultsForManagementGroupAsync(final String managementGroupName) { + PolicyEventsInner client = this.inner(); + return client.listQueryResultsForManagementGroupAsync(managementGroupName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyEvent call(PolicyEventInner inner) { + return new PolicyEventImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForSubscriptionAsync(final String subscriptionId) { + PolicyEventsInner client = this.inner(); + return client.listQueryResultsForSubscriptionAsync(subscriptionId) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyEvent call(PolicyEventInner inner) { + return new PolicyEventImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForResourceGroupAsync(final String subscriptionId, final String resourceGroupName) { + PolicyEventsInner client = this.inner(); + return client.listQueryResultsForResourceGroupAsync(subscriptionId, resourceGroupName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyEvent call(PolicyEventInner inner) { + return new PolicyEventImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForResourceAsync(final String resourceId) { + PolicyEventsInner client = this.inner(); + return client.listQueryResultsForResourceAsync(resourceId) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyEvent call(PolicyEventInner inner) { + return new PolicyEventImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForPolicySetDefinitionAsync(final String subscriptionId, final String policySetDefinitionName) { + PolicyEventsInner client = this.inner(); + return client.listQueryResultsForPolicySetDefinitionAsync(subscriptionId, policySetDefinitionName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyEvent call(PolicyEventInner inner) { + return new PolicyEventImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForPolicyDefinitionAsync(final String subscriptionId, final String policyDefinitionName) { + PolicyEventsInner client = this.inner(); + return client.listQueryResultsForPolicyDefinitionAsync(subscriptionId, policyDefinitionName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyEvent call(PolicyEventInner inner) { + return new PolicyEventImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(final String subscriptionId, final String policyAssignmentName) { + PolicyEventsInner client = this.inner(); + return client.listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(subscriptionId, policyAssignmentName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyEvent call(PolicyEventInner inner) { + return new PolicyEventImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(final String subscriptionId, final String resourceGroupName, final String policyAssignmentName) { + PolicyEventsInner client = this.inner(); + return client.listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(subscriptionId, resourceGroupName, policyAssignmentName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyEvent call(PolicyEventInner inner) { + return new PolicyEventImpl(inner, manager()); + } + }); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyEventsInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyEventsInner.java new file mode 100644 index 000000000000..7629de746767 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyEventsInner.java @@ -0,0 +1,3224 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import retrofit2.Retrofit; +import com.google.common.reflect.TypeToken; +import com.microsoft.azure.AzureServiceFuture; +import com.microsoft.azure.ListOperationCallback; +import com.microsoft.azure.management.policyinsights.v2020_07_01.QueryFailureException; +import com.microsoft.azure.management.policyinsights.v2020_07_01.QueryOptions; +import com.microsoft.azure.Page; +import com.microsoft.azure.PagedList; +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 org.joda.time.DateTime; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.Path; +import retrofit2.http.POST; +import retrofit2.http.Query; +import retrofit2.http.Url; +import retrofit2.Response; +import rx.functions.Func1; +import rx.Observable; + +/** + * An instance of this class provides access to all the operations defined + * in PolicyEvents. + */ +public class PolicyEventsInner { + /** The Retrofit service to perform REST calls. */ + private PolicyEventsService service; + /** The service client containing this operation class. */ + private PolicyInsightsClientImpl client; + + /** + * Initializes an instance of PolicyEventsInner. + * + * @param retrofit the Retrofit instance built from a Retrofit Builder. + * @param client the instance of the service client containing this operation class. + */ + public PolicyEventsInner(Retrofit retrofit, PolicyInsightsClientImpl client) { + this.service = retrofit.create(PolicyEventsService.class); + this.client = client; + } + + /** + * The interface defining all the services for PolicyEvents to be + * used by Retrofit to perform actually REST calls. + */ + interface PolicyEventsService { + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForManagementGroup" }) + @POST("providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults") + Observable> listQueryResultsForManagementGroup(@Path("policyEventsResource") String policyEventsResource, @Path("managementGroupsNamespace") String managementGroupsNamespace, @Path("managementGroupName") String managementGroupName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForSubscription" }) + @POST("subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults") + Observable> listQueryResultsForSubscription(@Path("policyEventsResource") String policyEventsResource, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForResourceGroup" }) + @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults") + Observable> listQueryResultsForResourceGroup(@Path("policyEventsResource") String policyEventsResource, @Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForResource" }) + @POST("{resourceId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults") + Observable> listQueryResultsForResource(@Path("policyEventsResource") String policyEventsResource, @Path(value = "resourceId", encoded = true) String resourceId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$expand") String expand, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForPolicySetDefinition" }) + @POST("subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults") + Observable> listQueryResultsForPolicySetDefinition(@Path("policyEventsResource") String policyEventsResource, @Path("subscriptionId") String subscriptionId, @Path("authorizationNamespace") String authorizationNamespace, @Path("policySetDefinitionName") String policySetDefinitionName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForPolicyDefinition" }) + @POST("subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults") + Observable> listQueryResultsForPolicyDefinition(@Path("policyEventsResource") String policyEventsResource, @Path("subscriptionId") String subscriptionId, @Path("authorizationNamespace") String authorizationNamespace, @Path("policyDefinitionName") String policyDefinitionName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForSubscriptionLevelPolicyAssignment" }) + @POST("subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults") + Observable> listQueryResultsForSubscriptionLevelPolicyAssignment(@Path("policyEventsResource") String policyEventsResource, @Path("subscriptionId") String subscriptionId, @Path("authorizationNamespace") String authorizationNamespace, @Path("policyAssignmentName") String policyAssignmentName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForResourceGroupLevelPolicyAssignment" }) + @POST("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults") + Observable> listQueryResultsForResourceGroupLevelPolicyAssignment(@Path("policyEventsResource") String policyEventsResource, @Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("authorizationNamespace") String authorizationNamespace, @Path("policyAssignmentName") String policyAssignmentName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForManagementGroupNext" }) + @GET + Observable> listQueryResultsForManagementGroupNext(@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.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForSubscriptionNext" }) + @GET + Observable> listQueryResultsForSubscriptionNext(@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.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForResourceGroupNext" }) + @GET + Observable> listQueryResultsForResourceGroupNext(@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.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForResourceNext" }) + @GET + Observable> listQueryResultsForResourceNext(@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.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForPolicySetDefinitionNext" }) + @GET + Observable> listQueryResultsForPolicySetDefinitionNext(@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.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForPolicyDefinitionNext" }) + @GET + Observable> listQueryResultsForPolicyDefinitionNext(@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.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForSubscriptionLevelPolicyAssignmentNext" }) + @GET + Observable> listQueryResultsForSubscriptionLevelPolicyAssignmentNext(@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.policyinsights.v2020_07_01.PolicyEvents listQueryResultsForResourceGroupLevelPolicyAssignmentNext" }) + @GET + Observable> listQueryResultsForResourceGroupLevelPolicyAssignmentNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent); + + } + + /** + * Queries policy events for the resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForManagementGroup(final String managementGroupName) { + ServiceResponse> response = listQueryResultsForManagementGroupSinglePageAsync(managementGroupName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resources under the management group. + * + * @param managementGroupName Management group 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> listQueryResultsForManagementGroupAsync(final String managementGroupName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForManagementGroupSinglePageAsync(managementGroupName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForManagementGroupAsync(final String managementGroupName) { + return listQueryResultsForManagementGroupWithServiceResponseAsync(managementGroupName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForManagementGroupWithServiceResponseAsync(final String managementGroupName) { + return listQueryResultsForManagementGroupSinglePageAsync(managementGroupName) + .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(listQueryResultsForManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForManagementGroupSinglePageAsync(final String managementGroupName) { + if (managementGroupName == null) { + throw new IllegalArgumentException("Parameter managementGroupName is required and cannot be null."); + } + final String policyEventsResource = "default"; + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForManagementGroup(policyEventsResource, managementGroupsNamespace, managementGroupName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForManagementGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy events for the resources under the management group. + * + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForManagementGroup(final String managementGroupName, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForManagementGroupSinglePageAsync(managementGroupName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resources under the management group. + * + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForManagementGroupAsync(final String managementGroupName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForManagementGroupSinglePageAsync(managementGroupName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resources under the management group. + * + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForManagementGroupAsync(final String managementGroupName, final QueryOptions queryOptions) { + return listQueryResultsForManagementGroupWithServiceResponseAsync(managementGroupName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resources under the management group. + * + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForManagementGroupWithServiceResponseAsync(final String managementGroupName, final QueryOptions queryOptions) { + return listQueryResultsForManagementGroupSinglePageAsync(managementGroupName, queryOptions) + .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(listQueryResultsForManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resources under the management group. + * + ServiceResponse> * @param managementGroupName Management group name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForManagementGroupSinglePageAsync(final String managementGroupName, final QueryOptions queryOptions) { + if (managementGroupName == null) { + throw new IllegalArgumentException("Parameter managementGroupName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyEventsResource = "default"; + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForManagementGroup(policyEventsResource, managementGroupsNamespace, managementGroupName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForManagementGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForManagementGroupDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForSubscription(final String subscriptionId) { + ServiceResponse> response = listQueryResultsForSubscriptionSinglePageAsync(subscriptionId).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @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> listQueryResultsForSubscriptionAsync(final String subscriptionId, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionSinglePageAsync(subscriptionId), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForSubscriptionAsync(final String subscriptionId) { + return listQueryResultsForSubscriptionWithServiceResponseAsync(subscriptionId) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForSubscriptionWithServiceResponseAsync(final String subscriptionId) { + return listQueryResultsForSubscriptionSinglePageAsync(subscriptionId) + .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(listQueryResultsForSubscriptionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionSinglePageAsync(final String subscriptionId) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + final String policyEventsResource = "default"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForSubscription(policyEventsResource, subscriptionId, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy events for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForSubscription(final String subscriptionId, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForSubscriptionSinglePageAsync(subscriptionId, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForSubscriptionAsync(final String subscriptionId, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionSinglePageAsync(subscriptionId, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForSubscriptionAsync(final String subscriptionId, final QueryOptions queryOptions) { + return listQueryResultsForSubscriptionWithServiceResponseAsync(subscriptionId, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForSubscriptionWithServiceResponseAsync(final String subscriptionId, final QueryOptions queryOptions) { + return listQueryResultsForSubscriptionSinglePageAsync(subscriptionId, queryOptions) + .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(listQueryResultsForSubscriptionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resources under the subscription. + * + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionSinglePageAsync(final String subscriptionId, final QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyEventsResource = "default"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForSubscription(policyEventsResource, subscriptionId, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForSubscriptionDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroup(final String subscriptionId, final String resourceGroupName) { + ServiceResponse> response = listQueryResultsForResourceGroupSinglePageAsync(subscriptionId, resourceGroupName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group 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> listQueryResultsForResourceGroupAsync(final String subscriptionId, final String resourceGroupName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupSinglePageAsync(subscriptionId, resourceGroupName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForResourceGroupAsync(final String subscriptionId, final String resourceGroupName) { + return listQueryResultsForResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForResourceGroupWithServiceResponseAsync(final String subscriptionId, final String resourceGroupName) { + return listQueryResultsForResourceGroupSinglePageAsync(subscriptionId, 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(listQueryResultsForResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupSinglePageAsync(final String subscriptionId, final String resourceGroupName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + final String policyEventsResource = "default"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForResourceGroup(policyEventsResource, subscriptionId, resourceGroupName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy events for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroup(final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForResourceGroupSinglePageAsync(subscriptionId, resourceGroupName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForResourceGroupAsync(final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupSinglePageAsync(subscriptionId, resourceGroupName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForResourceGroupAsync(final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions) { + return listQueryResultsForResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForResourceGroupWithServiceResponseAsync(final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions) { + return listQueryResultsForResourceGroupSinglePageAsync(subscriptionId, resourceGroupName, queryOptions) + .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(listQueryResultsForResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resources under the resource group. + * + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param resourceGroupName Resource group name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupSinglePageAsync(final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyEventsResource = "default"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForResourceGroup(policyEventsResource, subscriptionId, resourceGroupName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceGroupDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForResource(final String resourceId) { + ServiceResponse> response = listQueryResultsForResourceSinglePageAsync(resourceId).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resource. + * + * @param resourceId Resource ID. + * @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> listQueryResultsForResourceAsync(final String resourceId, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceSinglePageAsync(resourceId), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForResourceAsync(final String resourceId) { + return listQueryResultsForResourceWithServiceResponseAsync(resourceId) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForResourceWithServiceResponseAsync(final String resourceId) { + return listQueryResultsForResourceSinglePageAsync(resourceId) + .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(listQueryResultsForResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceSinglePageAsync(final String resourceId) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + final String policyEventsResource = "default"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String expand = null; + String skipToken = null; + return service.listQueryResultsForResource(policyEventsResource, resourceId, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, expand, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy events for the resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForResource(final String resourceId, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForResourceSinglePageAsync(resourceId, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForResourceAsync(final String resourceId, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceSinglePageAsync(resourceId, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForResourceAsync(final String resourceId, final QueryOptions queryOptions) { + return listQueryResultsForResourceWithServiceResponseAsync(resourceId, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForResourceWithServiceResponseAsync(final String resourceId, final QueryOptions queryOptions) { + return listQueryResultsForResourceSinglePageAsync(resourceId, queryOptions) + .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(listQueryResultsForResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resource. + * + ServiceResponse> * @param resourceId Resource ID. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceSinglePageAsync(final String resourceId, final QueryOptions queryOptions) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyEventsResource = "default"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String expand = null; + if (queryOptions != null) { + expand = queryOptions.expand(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForResource(policyEventsResource, resourceId, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, expand, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForPolicySetDefinition(final String subscriptionId, final String policySetDefinitionName) { + ServiceResponse> response = listQueryResultsForPolicySetDefinitionSinglePageAsync(subscriptionId, policySetDefinitionName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition 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> listQueryResultsForPolicySetDefinitionAsync(final String subscriptionId, final String policySetDefinitionName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForPolicySetDefinitionSinglePageAsync(subscriptionId, policySetDefinitionName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForPolicySetDefinitionAsync(final String subscriptionId, final String policySetDefinitionName) { + return listQueryResultsForPolicySetDefinitionWithServiceResponseAsync(subscriptionId, policySetDefinitionName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForPolicySetDefinitionWithServiceResponseAsync(final String subscriptionId, final String policySetDefinitionName) { + return listQueryResultsForPolicySetDefinitionSinglePageAsync(subscriptionId, policySetDefinitionName) + .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(listQueryResultsForPolicySetDefinitionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForPolicySetDefinitionSinglePageAsync(final String subscriptionId, final String policySetDefinitionName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policySetDefinitionName == null) { + throw new IllegalArgumentException("Parameter policySetDefinitionName is required and cannot be null."); + } + final String policyEventsResource = "default"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForPolicySetDefinition(policyEventsResource, subscriptionId, authorizationNamespace, policySetDefinitionName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForPolicySetDefinitionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy events for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForPolicySetDefinition(final String subscriptionId, final String policySetDefinitionName, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForPolicySetDefinitionSinglePageAsync(subscriptionId, policySetDefinitionName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForPolicySetDefinitionAsync(final String subscriptionId, final String policySetDefinitionName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForPolicySetDefinitionSinglePageAsync(subscriptionId, policySetDefinitionName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForPolicySetDefinitionAsync(final String subscriptionId, final String policySetDefinitionName, final QueryOptions queryOptions) { + return listQueryResultsForPolicySetDefinitionWithServiceResponseAsync(subscriptionId, policySetDefinitionName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForPolicySetDefinitionWithServiceResponseAsync(final String subscriptionId, final String policySetDefinitionName, final QueryOptions queryOptions) { + return listQueryResultsForPolicySetDefinitionSinglePageAsync(subscriptionId, policySetDefinitionName, queryOptions) + .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(listQueryResultsForPolicySetDefinitionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the subscription level policy set definition. + * + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param policySetDefinitionName Policy set definition name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForPolicySetDefinitionSinglePageAsync(final String subscriptionId, final String policySetDefinitionName, final QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policySetDefinitionName == null) { + throw new IllegalArgumentException("Parameter policySetDefinitionName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyEventsResource = "default"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForPolicySetDefinition(policyEventsResource, subscriptionId, authorizationNamespace, policySetDefinitionName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForPolicySetDefinitionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForPolicySetDefinitionDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForPolicyDefinition(final String subscriptionId, final String policyDefinitionName) { + ServiceResponse> response = listQueryResultsForPolicyDefinitionSinglePageAsync(subscriptionId, policyDefinitionName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition 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> listQueryResultsForPolicyDefinitionAsync(final String subscriptionId, final String policyDefinitionName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForPolicyDefinitionSinglePageAsync(subscriptionId, policyDefinitionName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForPolicyDefinitionAsync(final String subscriptionId, final String policyDefinitionName) { + return listQueryResultsForPolicyDefinitionWithServiceResponseAsync(subscriptionId, policyDefinitionName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForPolicyDefinitionWithServiceResponseAsync(final String subscriptionId, final String policyDefinitionName) { + return listQueryResultsForPolicyDefinitionSinglePageAsync(subscriptionId, policyDefinitionName) + .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(listQueryResultsForPolicyDefinitionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForPolicyDefinitionSinglePageAsync(final String subscriptionId, final String policyDefinitionName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policyDefinitionName == null) { + throw new IllegalArgumentException("Parameter policyDefinitionName is required and cannot be null."); + } + final String policyEventsResource = "default"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForPolicyDefinition(policyEventsResource, subscriptionId, authorizationNamespace, policyDefinitionName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForPolicyDefinitionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy events for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForPolicyDefinition(final String subscriptionId, final String policyDefinitionName, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForPolicyDefinitionSinglePageAsync(subscriptionId, policyDefinitionName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForPolicyDefinitionAsync(final String subscriptionId, final String policyDefinitionName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForPolicyDefinitionSinglePageAsync(subscriptionId, policyDefinitionName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForPolicyDefinitionAsync(final String subscriptionId, final String policyDefinitionName, final QueryOptions queryOptions) { + return listQueryResultsForPolicyDefinitionWithServiceResponseAsync(subscriptionId, policyDefinitionName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForPolicyDefinitionWithServiceResponseAsync(final String subscriptionId, final String policyDefinitionName, final QueryOptions queryOptions) { + return listQueryResultsForPolicyDefinitionSinglePageAsync(subscriptionId, policyDefinitionName, queryOptions) + .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(listQueryResultsForPolicyDefinitionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the subscription level policy definition. + * + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param policyDefinitionName Policy definition name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForPolicyDefinitionSinglePageAsync(final String subscriptionId, final String policyDefinitionName, final QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policyDefinitionName == null) { + throw new IllegalArgumentException("Parameter policyDefinitionName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyEventsResource = "default"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForPolicyDefinition(policyEventsResource, subscriptionId, authorizationNamespace, policyDefinitionName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForPolicyDefinitionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForPolicyDefinitionDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForSubscriptionLevelPolicyAssignment(final String subscriptionId, final String policyAssignmentName) { + ServiceResponse> response = listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(subscriptionId, policyAssignmentName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment 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> listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(final String subscriptionId, final String policyAssignmentName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(subscriptionId, policyAssignmentName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(final String subscriptionId, final String policyAssignmentName) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, policyAssignmentName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(final String subscriptionId, final String policyAssignmentName) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(subscriptionId, policyAssignmentName) + .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(listQueryResultsForSubscriptionLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(final String subscriptionId, final String policyAssignmentName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policyAssignmentName == null) { + throw new IllegalArgumentException("Parameter policyAssignmentName is required and cannot be null."); + } + final String policyEventsResource = "default"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForSubscriptionLevelPolicyAssignment(policyEventsResource, subscriptionId, authorizationNamespace, policyAssignmentName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionLevelPolicyAssignmentDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy events for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForSubscriptionLevelPolicyAssignment(final String subscriptionId, final String policyAssignmentName, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(subscriptionId, policyAssignmentName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(final String subscriptionId, final String policyAssignmentName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(subscriptionId, policyAssignmentName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(final String subscriptionId, final String policyAssignmentName, final QueryOptions queryOptions) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, policyAssignmentName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(final String subscriptionId, final String policyAssignmentName, final QueryOptions queryOptions) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(subscriptionId, policyAssignmentName, queryOptions) + .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(listQueryResultsForSubscriptionLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the subscription level policy assignment. + * + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param policyAssignmentName Policy assignment name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(final String subscriptionId, final String policyAssignmentName, final QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policyAssignmentName == null) { + throw new IllegalArgumentException("Parameter policyAssignmentName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyEventsResource = "default"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForSubscriptionLevelPolicyAssignment(policyEventsResource, subscriptionId, authorizationNamespace, policyAssignmentName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionLevelPolicyAssignmentDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForSubscriptionLevelPolicyAssignmentDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroupLevelPolicyAssignment(final String subscriptionId, final String resourceGroupName, final String policyAssignmentName) { + ServiceResponse> response = listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(subscriptionId, resourceGroupName, policyAssignmentName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment 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> listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(final String subscriptionId, final String resourceGroupName, final String policyAssignmentName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(subscriptionId, resourceGroupName, policyAssignmentName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(final String subscriptionId, final String resourceGroupName, final String policyAssignmentName) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, resourceGroupName, policyAssignmentName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(final String subscriptionId, final String resourceGroupName, final String policyAssignmentName) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(subscriptionId, resourceGroupName, policyAssignmentName) + .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(listQueryResultsForResourceGroupLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(final String subscriptionId, final String resourceGroupName, final String policyAssignmentName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (policyAssignmentName == null) { + throw new IllegalArgumentException("Parameter policyAssignmentName is required and cannot be null."); + } + final String policyEventsResource = "default"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForResourceGroupLevelPolicyAssignment(policyEventsResource, subscriptionId, resourceGroupName, authorizationNamespace, policyAssignmentName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupLevelPolicyAssignmentDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy events for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroupLevelPolicyAssignment(final String subscriptionId, final String resourceGroupName, final String policyAssignmentName, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(subscriptionId, resourceGroupName, policyAssignmentName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(final String subscriptionId, final String resourceGroupName, final String policyAssignmentName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(subscriptionId, resourceGroupName, policyAssignmentName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable> listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(final String subscriptionId, final String resourceGroupName, final String policyAssignmentName, final QueryOptions queryOptions) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, resourceGroupName, policyAssignmentName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyEventInner> object + */ + public Observable>> listQueryResultsForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(final String subscriptionId, final String resourceGroupName, final String policyAssignmentName, final QueryOptions queryOptions) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(subscriptionId, resourceGroupName, policyAssignmentName, queryOptions) + .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(listQueryResultsForResourceGroupLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resource group level policy assignment. + * + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param resourceGroupName Resource group name. + ServiceResponse> * @param policyAssignmentName Policy assignment name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(final String subscriptionId, final String resourceGroupName, final String policyAssignmentName, final QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (policyAssignmentName == null) { + throw new IllegalArgumentException("Parameter policyAssignmentName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyEventsResource = "default"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForResourceGroupLevelPolicyAssignment(policyEventsResource, subscriptionId, resourceGroupName, authorizationNamespace, policyAssignmentName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupLevelPolicyAssignmentDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceGroupLevelPolicyAssignmentDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the resources under the management group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForManagementGroupNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resources under the management 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> listQueryResultsForManagementGroupNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resources under the management 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<PolicyEventInner> object + */ + public Observable> listQueryResultsForManagementGroupNextAsync(final String nextPageLink) { + return listQueryResultsForManagementGroupNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resources under the management 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<PolicyEventInner> object + */ + public Observable>> listQueryResultsForManagementGroupNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(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(listQueryResultsForManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resources under the management 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<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForManagementGroupNextSinglePageAsync(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.listQueryResultsForManagementGroupNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForManagementGroupNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForManagementGroupNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the resources under the subscription. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForSubscriptionNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resources under the 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> listQueryResultsForSubscriptionNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resources under the 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<PolicyEventInner> object + */ + public Observable> listQueryResultsForSubscriptionNextAsync(final String nextPageLink) { + return listQueryResultsForSubscriptionNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resources under the 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<PolicyEventInner> object + */ + public Observable>> listQueryResultsForSubscriptionNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(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(listQueryResultsForSubscriptionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resources under the 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<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionNextSinglePageAsync(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.listQueryResultsForSubscriptionNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForSubscriptionNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the resources under the resource group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroupNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resources under the 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> listQueryResultsForResourceGroupNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resources under the 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<PolicyEventInner> object + */ + public Observable> listQueryResultsForResourceGroupNextAsync(final String nextPageLink) { + return listQueryResultsForResourceGroupNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resources under the 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<PolicyEventInner> object + */ + public Observable>> listQueryResultsForResourceGroupNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(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(listQueryResultsForResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resources under the 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<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupNextSinglePageAsync(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.listQueryResultsForResourceGroupNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceGroupNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the resource. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForResourceNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForResourceNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resource. + * + * @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> listQueryResultsForResourceNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resource. + * + * @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<PolicyEventInner> object + */ + public Observable> listQueryResultsForResourceNextAsync(final String nextPageLink) { + return listQueryResultsForResourceNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resource. + * + * @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<PolicyEventInner> object + */ + public Observable>> listQueryResultsForResourceNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(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(listQueryResultsForResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resource. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceNextSinglePageAsync(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.listQueryResultsForResourceNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the subscription level policy set definition. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForPolicySetDefinitionNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the subscription level policy set definition. + * + * @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> listQueryResultsForPolicySetDefinitionNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the subscription level policy set definition. + * + * @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<PolicyEventInner> object + */ + public Observable> listQueryResultsForPolicySetDefinitionNextAsync(final String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the subscription level policy set definition. + * + * @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<PolicyEventInner> object + */ + public Observable>> listQueryResultsForPolicySetDefinitionNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(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(listQueryResultsForPolicySetDefinitionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the subscription level policy set definition. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForPolicySetDefinitionNextSinglePageAsync(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.listQueryResultsForPolicySetDefinitionNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForPolicySetDefinitionNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForPolicySetDefinitionNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the subscription level policy definition. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForPolicyDefinitionNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the subscription level policy definition. + * + * @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> listQueryResultsForPolicyDefinitionNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the subscription level policy definition. + * + * @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<PolicyEventInner> object + */ + public Observable> listQueryResultsForPolicyDefinitionNextAsync(final String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the subscription level policy definition. + * + * @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<PolicyEventInner> object + */ + public Observable>> listQueryResultsForPolicyDefinitionNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(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(listQueryResultsForPolicyDefinitionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the subscription level policy definition. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForPolicyDefinitionNextSinglePageAsync(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.listQueryResultsForPolicyDefinitionNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForPolicyDefinitionNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForPolicyDefinitionNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the subscription level policy assignment. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForSubscriptionLevelPolicyAssignmentNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the subscription level policy assignment. + * + * @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> listQueryResultsForSubscriptionLevelPolicyAssignmentNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the subscription level policy assignment. + * + * @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<PolicyEventInner> object + */ + public Observable> listQueryResultsForSubscriptionLevelPolicyAssignmentNextAsync(final String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the subscription level policy assignment. + * + * @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<PolicyEventInner> object + */ + public Observable>> listQueryResultsForSubscriptionLevelPolicyAssignmentNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(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(listQueryResultsForSubscriptionLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the subscription level policy assignment. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(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.listQueryResultsForSubscriptionLevelPolicyAssignmentNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionLevelPolicyAssignmentNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForSubscriptionLevelPolicyAssignmentNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy events for the resource group level policy assignment. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyEventInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroupLevelPolicyAssignmentNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy events for the resource group level policy assignment. + * + * @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> listQueryResultsForResourceGroupLevelPolicyAssignmentNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy events for the resource group level policy assignment. + * + * @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<PolicyEventInner> object + */ + public Observable> listQueryResultsForResourceGroupLevelPolicyAssignmentNextAsync(final String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy events for the resource group level policy assignment. + * + * @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<PolicyEventInner> object + */ + public Observable>> listQueryResultsForResourceGroupLevelPolicyAssignmentNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(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(listQueryResultsForResourceGroupLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy events for the resource group level policy assignment. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyEventInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(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.listQueryResultsForResourceGroupLevelPolicyAssignmentNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupLevelPolicyAssignmentNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceGroupLevelPolicyAssignmentNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyInsightsClientImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyInsightsClientImpl.java new file mode 100644 index 000000000000..e17fa6910494 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyInsightsClientImpl.java @@ -0,0 +1,269 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.AzureClient; +import com.microsoft.azure.AzureServiceClient; +import com.microsoft.azure.LongRunningFinalState; +import com.microsoft.azure.LongRunningOperationOptions; +import com.microsoft.rest.credentials.ServiceClientCredentials; +import com.microsoft.rest.RestClient; + +/** + * Initializes a new instance of the PolicyInsightsClientImpl class. + */ +public class PolicyInsightsClientImpl extends AzureServiceClient { + /** the {@link AzureClient} used for long running operations. */ + private AzureClient azureClient; + + /** + * Gets the {@link AzureClient} used for long running operations. + * @return the azure client; + */ + public AzureClient getAzureClient() { + return this.azureClient; + } + + /** The ID of the target subscription. */ + private String subscriptionId2; + + /** + * Gets The ID of the target subscription. + * + * @return the subscriptionId2 value. + */ + public String subscriptionId2() { + return this.subscriptionId2; + } + + /** + * Sets The ID of the target subscription. + * + * @param subscriptionId2 the subscriptionId2 value. + * @return the service client itself + */ + public PolicyInsightsClientImpl withSubscriptionId2(String subscriptionId2) { + this.subscriptionId2 = subscriptionId2; + return this; + } + + /** 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 PolicyInsightsClientImpl 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 PolicyInsightsClientImpl 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 PolicyInsightsClientImpl withGenerateClientRequestId(boolean generateClientRequestId) { + this.generateClientRequestId = generateClientRequestId; + return this; + } + + /** + * The PolicyTrackedResourcesInner object to access its operations. + */ + private PolicyTrackedResourcesInner policyTrackedResources; + + /** + * Gets the PolicyTrackedResourcesInner object to access its operations. + * @return the PolicyTrackedResourcesInner object. + */ + public PolicyTrackedResourcesInner policyTrackedResources() { + return this.policyTrackedResources; + } + + /** + * The RemediationsInner object to access its operations. + */ + private RemediationsInner remediations; + + /** + * Gets the RemediationsInner object to access its operations. + * @return the RemediationsInner object. + */ + public RemediationsInner remediations() { + return this.remediations; + } + + /** + * The PolicyEventsInner object to access its operations. + */ + private PolicyEventsInner policyEvents; + + /** + * Gets the PolicyEventsInner object to access its operations. + * @return the PolicyEventsInner object. + */ + public PolicyEventsInner policyEvents() { + return this.policyEvents; + } + + /** + * The PolicyStatesInner object to access its operations. + */ + private PolicyStatesInner policyStates; + + /** + * Gets the PolicyStatesInner object to access its operations. + * @return the PolicyStatesInner object. + */ + public PolicyStatesInner policyStates() { + return this.policyStates; + } + + /** + * The OperationsInner object to access its operations. + */ + private OperationsInner operations; + + /** + * Gets the OperationsInner object to access its operations. + * @return the OperationsInner object. + */ + public OperationsInner operations() { + return this.operations; + } + + /** + * The PolicyMetadatasInner object to access its operations. + */ + private PolicyMetadatasInner policyMetadatas; + + /** + * Gets the PolicyMetadatasInner object to access its operations. + * @return the PolicyMetadatasInner object. + */ + public PolicyMetadatasInner policyMetadatas() { + return this.policyMetadatas; + } + + /** + * The PolicyRestrictionsInner object to access its operations. + */ + private PolicyRestrictionsInner policyRestrictions; + + /** + * Gets the PolicyRestrictionsInner object to access its operations. + * @return the PolicyRestrictionsInner object. + */ + public PolicyRestrictionsInner policyRestrictions() { + return this.policyRestrictions; + } + + /** + * Initializes an instance of PolicyInsightsClient client. + * + * @param credentials the management credentials for Azure + */ + public PolicyInsightsClientImpl(ServiceClientCredentials credentials) { + this("https://management.azure.com", credentials); + } + + /** + * Initializes an instance of PolicyInsightsClient client. + * + * @param baseUrl the base URL of the host + * @param credentials the management credentials for Azure + */ + public PolicyInsightsClientImpl(String baseUrl, ServiceClientCredentials credentials) { + super(baseUrl, credentials); + initialize(); + } + + /** + * Initializes an instance of PolicyInsightsClient client. + * + * @param restClient the REST client to connect to Azure. + */ + public PolicyInsightsClientImpl(RestClient restClient) { + super(restClient); + initialize(); + } + + protected void initialize() { + this.acceptLanguage = "en-US"; + this.longRunningOperationRetryTimeout = 30; + this.generateClientRequestId = true; + this.policyTrackedResources = new PolicyTrackedResourcesInner(restClient().retrofit(), this); + this.remediations = new RemediationsInner(restClient().retrofit(), this); + this.policyEvents = new PolicyEventsInner(restClient().retrofit(), this); + this.policyStates = new PolicyStatesInner(restClient().retrofit(), this); + this.operations = new OperationsInner(restClient().retrofit(), this); + this.policyMetadatas = new PolicyMetadatasInner(restClient().retrofit(), this); + this.policyRestrictions = new PolicyRestrictionsInner(restClient().retrofit(), this); + this.azureClient = new AzureClient(this); + } + + /** + * Gets the User-Agent header for the client. + * + * @return the user agent string. + */ + @Override + public String userAgent() { + return String.format("%s (%s, %s, auto-generated)", super.userAgent(), "PolicyInsightsClient", "2020-07-01"); + } +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyInsightsManager.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyInsightsManager.java new file mode 100644 index 000000000000..c353f23d0a6c --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyInsightsManager.java @@ -0,0 +1,168 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_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.policyinsights.v2020_07_01.PolicyTrackedResources; +import com.microsoft.azure.management.policyinsights.v2020_07_01.Remediations; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvents; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates; +import com.microsoft.azure.management.policyinsights.v2020_07_01.Operations; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyMetadatas; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyRestrictions; +import com.microsoft.azure.arm.resources.implementation.AzureConfigurableCoreImpl; +import com.microsoft.azure.arm.resources.implementation.ManagerCore; + +/** + * Entry point to Azure PolicyInsights resource management. + */ +public final class PolicyInsightsManager extends ManagerCore { + private PolicyTrackedResources policyTrackedResources; + private Remediations remediations; + private PolicyEvents policyEvents; + private PolicyStates policyStates; + private Operations operations; + private PolicyMetadatas policyMetadatas; + private PolicyRestrictions policyRestrictions; + /** + * Get a Configurable instance that can be used to create PolicyInsightsManager with optional configuration. + * + * @return the instance allowing configurations + */ + public static Configurable configure() { + return new PolicyInsightsManager.ConfigurableImpl(); + } + /** + * Creates an instance of PolicyInsightsManager that exposes PolicyInsights resource management API entry points. + * + * @param credentials the credentials to use + * @return the PolicyInsightsManager + */ + public static PolicyInsightsManager authenticate(AzureTokenCredentials credentials) { + return new PolicyInsightsManager(new RestClient.Builder() + .withBaseUrl(credentials.environment(), AzureEnvironment.Endpoint.RESOURCE_MANAGER) + .withCredentials(credentials) + .withSerializerAdapter(new AzureJacksonAdapter()) + .withResponseBuilderFactory(new AzureResponseBuilder.Factory()) + .build()); + } + /** + * Creates an instance of PolicyInsightsManager that exposes PolicyInsights resource management API entry points. + * + * @param restClient the RestClient to be used for API calls. + * @return the PolicyInsightsManager + */ + public static PolicyInsightsManager authenticate(RestClient restClient) { + return new PolicyInsightsManager(restClient); + } + /** + * The interface allowing configurations to be set. + */ + public interface Configurable extends AzureConfigurable { + /** + * Creates an instance of PolicyInsightsManager that exposes PolicyInsights management API entry points. + * + * @param credentials the credentials to use + * @return the interface exposing PolicyInsights management API entry points that work across subscriptions + */ + PolicyInsightsManager authenticate(AzureTokenCredentials credentials); + } + + /** + * @return Entry point to manage PolicyTrackedResources. + */ + public PolicyTrackedResources policyTrackedResources() { + if (this.policyTrackedResources == null) { + this.policyTrackedResources = new PolicyTrackedResourcesImpl(this); + } + return this.policyTrackedResources; + } + + /** + * @return Entry point to manage Remediations. + */ + public Remediations remediations() { + if (this.remediations == null) { + this.remediations = new RemediationsImpl(this); + } + return this.remediations; + } + + /** + * @return Entry point to manage PolicyEvents. + */ + public PolicyEvents policyEvents() { + if (this.policyEvents == null) { + this.policyEvents = new PolicyEventsImpl(this); + } + return this.policyEvents; + } + + /** + * @return Entry point to manage PolicyStates. + */ + public PolicyStates policyStates() { + if (this.policyStates == null) { + this.policyStates = new PolicyStatesImpl(this); + } + return this.policyStates; + } + + /** + * @return Entry point to manage Operations. + */ + public Operations operations() { + if (this.operations == null) { + this.operations = new OperationsImpl(this); + } + return this.operations; + } + + /** + * @return Entry point to manage PolicyMetadatas. + */ + public PolicyMetadatas policyMetadatas() { + if (this.policyMetadatas == null) { + this.policyMetadatas = new PolicyMetadatasImpl(this); + } + return this.policyMetadatas; + } + + /** + * @return Entry point to manage PolicyRestrictions. + */ + public PolicyRestrictions policyRestrictions() { + if (this.policyRestrictions == null) { + this.policyRestrictions = new PolicyRestrictionsImpl(this); + } + return this.policyRestrictions; + } + + /** + * The implementation for Configurable interface. + */ + private static final class ConfigurableImpl extends AzureConfigurableCoreImpl implements Configurable { + public PolicyInsightsManager authenticate(AzureTokenCredentials credentials) { + return PolicyInsightsManager.authenticate(buildRestClient(credentials)); + } + } + private PolicyInsightsManager(RestClient restClient) { + super( + restClient, + null, + new PolicyInsightsClientImpl(restClient)); + } +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyMetadataImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyMetadataImpl.java new file mode 100644 index 000000000000..efb692c9f806 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyMetadataImpl.java @@ -0,0 +1,81 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyMetadata; +import com.microsoft.azure.arm.model.implementation.WrapperImpl; + +class PolicyMetadataImpl extends WrapperImpl implements PolicyMetadata { + private final PolicyInsightsManager manager; + PolicyMetadataImpl(PolicyMetadataInner inner, PolicyInsightsManager manager) { + super(inner); + this.manager = manager; + } + + @Override + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public String additionalContentUrl() { + return this.inner().additionalContentUrl(); + } + + @Override + public String category() { + return this.inner().category(); + } + + @Override + public String description() { + return this.inner().description(); + } + + @Override + public String id() { + return this.inner().id(); + } + + @Override + public Object metadata() { + return this.inner().metadata(); + } + + @Override + public String metadataId() { + return this.inner().metadataId(); + } + + @Override + public String name() { + return this.inner().name(); + } + + @Override + public String owner() { + return this.inner().owner(); + } + + @Override + public String requirements() { + return this.inner().requirements(); + } + + @Override + public String title() { + return this.inner().title(); + } + + @Override + public String type() { + return this.inner().type(); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyMetadataInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyMetadataInner.java new file mode 100644 index 000000000000..ec8326ddc143 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyMetadataInner.java @@ -0,0 +1,184 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.microsoft.rest.serializer.JsonFlatten; + +/** + * Policy metadata resource definition. + */ +@JsonFlatten +public class PolicyMetadataInner { + /** + * The policy metadata identifier. + */ + @JsonProperty(value = "properties.metadataId", access = JsonProperty.Access.WRITE_ONLY) + private String metadataId; + + /** + * The category of the policy metadata. + */ + @JsonProperty(value = "properties.category", access = JsonProperty.Access.WRITE_ONLY) + private String category; + + /** + * The title of the policy metadata. + */ + @JsonProperty(value = "properties.title", access = JsonProperty.Access.WRITE_ONLY) + private String title; + + /** + * The owner of the policy metadata. + */ + @JsonProperty(value = "properties.owner", access = JsonProperty.Access.WRITE_ONLY) + private String owner; + + /** + * Url for getting additional content about the resource metadata. + */ + @JsonProperty(value = "properties.additionalContentUrl", access = JsonProperty.Access.WRITE_ONLY) + private String additionalContentUrl; + + /** + * Additional metadata. + */ + @JsonProperty(value = "properties.metadata", access = JsonProperty.Access.WRITE_ONLY) + private Object metadata; + + /** + * The description of the policy metadata. + */ + @JsonProperty(value = "properties.description", access = JsonProperty.Access.WRITE_ONLY) + private String description; + + /** + * The requirements of the policy metadata. + */ + @JsonProperty(value = "properties.requirements", access = JsonProperty.Access.WRITE_ONLY) + private String requirements; + + /** + * The ID of the policy metadata. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /** + * The type of the policy metadata. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /** + * The name of the policy metadata. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /** + * Get the policy metadata identifier. + * + * @return the metadataId value + */ + public String metadataId() { + return this.metadataId; + } + + /** + * Get the category of the policy metadata. + * + * @return the category value + */ + public String category() { + return this.category; + } + + /** + * Get the title of the policy metadata. + * + * @return the title value + */ + public String title() { + return this.title; + } + + /** + * Get the owner of the policy metadata. + * + * @return the owner value + */ + public String owner() { + return this.owner; + } + + /** + * Get url for getting additional content about the resource metadata. + * + * @return the additionalContentUrl value + */ + public String additionalContentUrl() { + return this.additionalContentUrl; + } + + /** + * Get additional metadata. + * + * @return the metadata value + */ + public Object metadata() { + return this.metadata; + } + + /** + * Get the description of the policy metadata. + * + * @return the description value + */ + public String description() { + return this.description; + } + + /** + * Get the requirements of the policy metadata. + * + * @return the requirements value + */ + public String requirements() { + return this.requirements; + } + + /** + * Get the ID of the policy metadata. + * + * @return the id value + */ + public String id() { + return this.id; + } + + /** + * Get the type of the policy metadata. + * + * @return the type value + */ + public String type() { + return this.type; + } + + /** + * Get the name of the policy metadata. + * + * @return the name value + */ + public String name() { + return this.name; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyMetadatasImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyMetadatasImpl.java new file mode 100644 index 000000000000..6111e7ca1f2a --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyMetadatasImpl.java @@ -0,0 +1,62 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * abc + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyMetadatas; +import rx.functions.Func1; +import rx.Observable; +import com.microsoft.azure.Page; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyMetadata; +import com.microsoft.azure.management.policyinsights.v2020_07_01.SlimPolicyMetadata; + +class PolicyMetadatasImpl extends WrapperImpl implements PolicyMetadatas { + private final PolicyInsightsManager manager; + + PolicyMetadatasImpl(PolicyInsightsManager manager) { + super(manager.inner().policyMetadatas()); + this.manager = manager; + } + + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public Observable getResourceAsync(String resourceName) { + PolicyMetadatasInner client = this.inner(); + return client.getResourceAsync(resourceName) + .map(new Func1() { + @Override + public PolicyMetadata call(PolicyMetadataInner inner) { + return new PolicyMetadataImpl(inner, manager()); + } + }); + } + + @Override + public Observable listAsync() { + PolicyMetadatasInner client = this.inner(); + return client.listAsync() + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public SlimPolicyMetadata call(SlimPolicyMetadataInner inner) { + return new SlimPolicyMetadataImpl(inner, manager()); + } + }); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyMetadatasInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyMetadatasInner.java new file mode 100644 index 000000000000..1a2d1b3ccf83 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyMetadatasInner.java @@ -0,0 +1,470 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import retrofit2.Retrofit; +import com.google.common.reflect.TypeToken; +import com.microsoft.azure.AzureServiceFuture; +import com.microsoft.azure.ListOperationCallback; +import com.microsoft.azure.management.policyinsights.v2020_07_01.ErrorResponseException; +import com.microsoft.azure.management.policyinsights.v2020_07_01.QueryOptions; +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.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.Path; +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 PolicyMetadatas. + */ +public class PolicyMetadatasInner { + /** The Retrofit service to perform REST calls. */ + private PolicyMetadatasService service; + /** The service client containing this operation class. */ + private PolicyInsightsClientImpl client; + + /** + * Initializes an instance of PolicyMetadatasInner. + * + * @param retrofit the Retrofit instance built from a Retrofit Builder. + * @param client the instance of the service client containing this operation class. + */ + public PolicyMetadatasInner(Retrofit retrofit, PolicyInsightsClientImpl client) { + this.service = retrofit.create(PolicyMetadatasService.class); + this.client = client; + } + + /** + * The interface defining all the services for PolicyMetadatas to be + * used by Retrofit to perform actually REST calls. + */ + interface PolicyMetadatasService { + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyMetadatas getResource" }) + @GET("providers/Microsoft.PolicyInsights/policyMetadata/{resourceName}") + Observable> getResource(@Path(value = "resourceName", encoded = true) String resourceName, @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.policyinsights.v2020_07_01.PolicyMetadatas list" }) + @GET("providers/Microsoft.PolicyInsights/policyMetadata") + Observable> list(@Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyMetadatas listNext" }) + @GET + Observable> listNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent); + + } + + /** + * Get policy metadata resource. + * + * @param resourceName The name of the policy metadata resource. + * @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 PolicyMetadataInner object if successful. + */ + public PolicyMetadataInner getResource(String resourceName) { + return getResourceWithServiceResponseAsync(resourceName).toBlocking().single().body(); + } + + /** + * Get policy metadata resource. + * + * @param resourceName The name of the policy metadata resource. + * @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 getResourceAsync(String resourceName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(getResourceWithServiceResponseAsync(resourceName), serviceCallback); + } + + /** + * Get policy metadata resource. + * + * @param resourceName The name of the policy metadata resource. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PolicyMetadataInner object + */ + public Observable getResourceAsync(String resourceName) { + return getResourceWithServiceResponseAsync(resourceName).map(new Func1, PolicyMetadataInner>() { + @Override + public PolicyMetadataInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Get policy metadata resource. + * + * @param resourceName The name of the policy metadata resource. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PolicyMetadataInner object + */ + public Observable> getResourceWithServiceResponseAsync(String resourceName) { + if (resourceName == null) { + throw new IllegalArgumentException("Parameter resourceName is required and cannot be null."); + } + final String apiVersion = "2019-10-01"; + return service.getResource(resourceName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = getResourceDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse getResourceDelegate(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); + } + + /** + * Get a list of the policy metadata resources. + * + * @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<SlimPolicyMetadataInner> 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(); + } + }; + } + + /** + * Get a list of the policy metadata resources. + * + * @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); + } + + /** + * Get a list of the policy metadata resources. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<SlimPolicyMetadataInner> object + */ + public Observable> listAsync() { + return listWithServiceResponseAsync() + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Get a list of the policy metadata resources. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<SlimPolicyMetadataInner> 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)); + } + }); + } + + /** + * Get a list of the policy metadata resources. + * + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<SlimPolicyMetadataInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listSinglePageAsync() { + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + return service.list(apiVersion, this.client.acceptLanguage(), top, 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); + } + } + }); + } + + /** + * Get a list of the policy metadata resources. + * + * @param queryOptions Additional parameters for the 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<SlimPolicyMetadataInner> object if successful. + */ + public PagedList list(final QueryOptions queryOptions) { + ServiceResponse> response = listSinglePageAsync(queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Get a list of the policy metadata resources. + * + * @param queryOptions Additional parameters for the operation + * @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 QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listSinglePageAsync(queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Get a list of the policy metadata resources. + * + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<SlimPolicyMetadataInner> object + */ + public Observable> listAsync(final QueryOptions queryOptions) { + return listWithServiceResponseAsync(queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Get a list of the policy metadata resources. + * + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<SlimPolicyMetadataInner> object + */ + public Observable>> listWithServiceResponseAsync(final QueryOptions queryOptions) { + return listSinglePageAsync(queryOptions) + .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)); + } + }); + } + + /** + * Get a list of the policy metadata resources. + * + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<SlimPolicyMetadataInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listSinglePageAsync(final QueryOptions queryOptions) { + Validator.validate(queryOptions); + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + return service.list(apiVersion, this.client.acceptLanguage(), top, 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 { + return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(ErrorResponseException.class) + .build(response); + } + + /** + * Get a list of the policy metadata resources. + * + * @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<SlimPolicyMetadataInner> 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(); + } + }; + } + + /** + * Get a list of the policy metadata resources. + * + * @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); + } + + /** + * Get a list of the policy metadata resources. + * + * @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<SlimPolicyMetadataInner> object + */ + public Observable> listNextAsync(final String nextPageLink) { + return listNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Get a list of the policy metadata resources. + * + * @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<SlimPolicyMetadataInner> 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)); + } + }); + } + + /** + * Get a list of the policy metadata resources. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<SlimPolicyMetadataInner> 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/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyRestrictionsImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyRestrictionsImpl.java new file mode 100644 index 000000000000..0b16314e158c --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyRestrictionsImpl.java @@ -0,0 +1,55 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * abc + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyRestrictions; +import rx.functions.Func1; +import rx.Observable; +import com.microsoft.azure.management.policyinsights.v2020_07_01.CheckRestrictionsResult; +import com.microsoft.azure.management.policyinsights.v2020_07_01.CheckRestrictionsRequest; + +class PolicyRestrictionsImpl extends WrapperImpl implements PolicyRestrictions { + private final PolicyInsightsManager manager; + + PolicyRestrictionsImpl(PolicyInsightsManager manager) { + super(manager.inner().policyRestrictions()); + this.manager = manager; + } + + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public Observable checkAtSubscriptionScopeAsync(String subscriptionId, CheckRestrictionsRequest parameters) { + PolicyRestrictionsInner client = this.inner(); + return client.checkAtSubscriptionScopeAsync(subscriptionId, parameters) + .map(new Func1() { + @Override + public CheckRestrictionsResult call(CheckRestrictionsResultInner inner) { + return new CheckRestrictionsResultImpl(inner, manager()); + } + }); + } + + @Override + public Observable checkAtResourceGroupScopeAsync(String subscriptionId, String resourceGroupName, CheckRestrictionsRequest parameters) { + PolicyRestrictionsInner client = this.inner(); + return client.checkAtResourceGroupScopeAsync(subscriptionId, resourceGroupName, parameters) + .map(new Func1() { + @Override + public CheckRestrictionsResult call(CheckRestrictionsResultInner inner) { + return new CheckRestrictionsResultImpl(inner, manager()); + } + }); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyRestrictionsInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyRestrictionsInner.java new file mode 100644 index 000000000000..51924b0f9f54 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyRestrictionsInner.java @@ -0,0 +1,238 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import retrofit2.Retrofit; +import com.google.common.reflect.TypeToken; +import com.microsoft.azure.management.policyinsights.v2020_07_01.CheckRestrictionsRequest; +import com.microsoft.azure.management.policyinsights.v2020_07_01.ErrorResponseException; +import com.microsoft.rest.ServiceCallback; +import com.microsoft.rest.ServiceFuture; +import com.microsoft.rest.ServiceResponse; +import com.microsoft.rest.Validator; +import java.io.IOException; +import okhttp3.ResponseBody; +import retrofit2.http.Body; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.Path; +import retrofit2.http.POST; +import retrofit2.http.Query; +import retrofit2.Response; +import rx.functions.Func1; +import rx.Observable; + +/** + * An instance of this class provides access to all the operations defined + * in PolicyRestrictions. + */ +public class PolicyRestrictionsInner { + /** The Retrofit service to perform REST calls. */ + private PolicyRestrictionsService service; + /** The service client containing this operation class. */ + private PolicyInsightsClientImpl client; + + /** + * Initializes an instance of PolicyRestrictionsInner. + * + * @param retrofit the Retrofit instance built from a Retrofit Builder. + * @param client the instance of the service client containing this operation class. + */ + public PolicyRestrictionsInner(Retrofit retrofit, PolicyInsightsClientImpl client) { + this.service = retrofit.create(PolicyRestrictionsService.class); + this.client = client; + } + + /** + * The interface defining all the services for PolicyRestrictions to be + * used by Retrofit to perform actually REST calls. + */ + interface PolicyRestrictionsService { + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyRestrictions checkAtSubscriptionScope" }) + @POST("subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/checkPolicyRestrictions") + Observable> checkAtSubscriptionScope(@Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Body CheckRestrictionsRequest parameters, @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.policyinsights.v2020_07_01.PolicyRestrictions checkAtResourceGroupScope" }) + @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/checkPolicyRestrictions") + Observable> checkAtResourceGroupScope(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Query("api-version") String apiVersion, @Body CheckRestrictionsRequest parameters, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent); + + } + + /** + * Checks what restrictions Azure Policy will place on a resource within a subscription. + * + * @param subscriptionId The ID of the target subscription. + * @param parameters The check policy restrictions parameters. + * @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 CheckRestrictionsResultInner object if successful. + */ + public CheckRestrictionsResultInner checkAtSubscriptionScope(String subscriptionId, CheckRestrictionsRequest parameters) { + return checkAtSubscriptionScopeWithServiceResponseAsync(subscriptionId, parameters).toBlocking().single().body(); + } + + /** + * Checks what restrictions Azure Policy will place on a resource within a subscription. + * + * @param subscriptionId The ID of the target subscription. + * @param parameters The check policy restrictions parameters. + * @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 checkAtSubscriptionScopeAsync(String subscriptionId, CheckRestrictionsRequest parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(checkAtSubscriptionScopeWithServiceResponseAsync(subscriptionId, parameters), serviceCallback); + } + + /** + * Checks what restrictions Azure Policy will place on a resource within a subscription. + * + * @param subscriptionId The ID of the target subscription. + * @param parameters The check policy restrictions parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the CheckRestrictionsResultInner object + */ + public Observable checkAtSubscriptionScopeAsync(String subscriptionId, CheckRestrictionsRequest parameters) { + return checkAtSubscriptionScopeWithServiceResponseAsync(subscriptionId, parameters).map(new Func1, CheckRestrictionsResultInner>() { + @Override + public CheckRestrictionsResultInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Checks what restrictions Azure Policy will place on a resource within a subscription. + * + * @param subscriptionId The ID of the target subscription. + * @param parameters The check policy restrictions parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the CheckRestrictionsResultInner object + */ + public Observable> checkAtSubscriptionScopeWithServiceResponseAsync(String subscriptionId, CheckRestrictionsRequest parameters) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + Validator.validate(parameters); + final String apiVersion = "2020-07-01"; + return service.checkAtSubscriptionScope(subscriptionId, apiVersion, parameters, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = checkAtSubscriptionScopeDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse checkAtSubscriptionScopeDelegate(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); + } + + /** + * Checks what restrictions Azure Policy will place on a resource within a resource group. Use this when the resource group the resource will be created in is already known. + * + * @param subscriptionId The ID of the target subscription. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param parameters The check policy restrictions parameters. + * @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 CheckRestrictionsResultInner object if successful. + */ + public CheckRestrictionsResultInner checkAtResourceGroupScope(String subscriptionId, String resourceGroupName, CheckRestrictionsRequest parameters) { + return checkAtResourceGroupScopeWithServiceResponseAsync(subscriptionId, resourceGroupName, parameters).toBlocking().single().body(); + } + + /** + * Checks what restrictions Azure Policy will place on a resource within a resource group. Use this when the resource group the resource will be created in is already known. + * + * @param subscriptionId The ID of the target subscription. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param parameters The check policy restrictions parameters. + * @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 checkAtResourceGroupScopeAsync(String subscriptionId, String resourceGroupName, CheckRestrictionsRequest parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(checkAtResourceGroupScopeWithServiceResponseAsync(subscriptionId, resourceGroupName, parameters), serviceCallback); + } + + /** + * Checks what restrictions Azure Policy will place on a resource within a resource group. Use this when the resource group the resource will be created in is already known. + * + * @param subscriptionId The ID of the target subscription. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param parameters The check policy restrictions parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the CheckRestrictionsResultInner object + */ + public Observable checkAtResourceGroupScopeAsync(String subscriptionId, String resourceGroupName, CheckRestrictionsRequest parameters) { + return checkAtResourceGroupScopeWithServiceResponseAsync(subscriptionId, resourceGroupName, parameters).map(new Func1, CheckRestrictionsResultInner>() { + @Override + public CheckRestrictionsResultInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Checks what restrictions Azure Policy will place on a resource within a resource group. Use this when the resource group the resource will be created in is already known. + * + * @param subscriptionId The ID of the target subscription. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param parameters The check policy restrictions parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the CheckRestrictionsResultInner object + */ + public Observable> checkAtResourceGroupScopeWithServiceResponseAsync(String subscriptionId, String resourceGroupName, CheckRestrictionsRequest parameters) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + Validator.validate(parameters); + final String apiVersion = "2020-07-01"; + return service.checkAtResourceGroupScope(subscriptionId, resourceGroupName, apiVersion, parameters, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = checkAtResourceGroupScopeDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse checkAtResourceGroupScopeDelegate(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); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyStateImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyStateImpl.java new file mode 100644 index 000000000000..ff6a1f6cd5b8 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyStateImpl.java @@ -0,0 +1,206 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyState; +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import java.util.Map; +import java.util.List; +import com.microsoft.azure.management.policyinsights.v2020_07_01.ComponentStateDetails; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvaluationDetails; +import org.joda.time.DateTime; + +class PolicyStateImpl extends WrapperImpl implements PolicyState { + private final PolicyInsightsManager manager; + PolicyStateImpl(PolicyStateInner inner, PolicyInsightsManager manager) { + super(inner); + this.manager = manager; + } + + @Override + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public Map additionalProperties() { + return this.inner().additionalProperties(); + } + + @Override + public String complianceState() { + return this.inner().complianceState(); + } + + @Override + public List components() { + return this.inner().components(); + } + + @Override + public String effectiveParameters() { + return this.inner().effectiveParameters(); + } + + @Override + public Boolean isCompliant() { + return this.inner().isCompliant(); + } + + @Override + public String managementGroupIds() { + return this.inner().managementGroupIds(); + } + + @Override + public String odatacontext() { + return this.inner().odatacontext(); + } + + @Override + public String odataid() { + return this.inner().odataid(); + } + + @Override + public String policyAssignmentId() { + return this.inner().policyAssignmentId(); + } + + @Override + public String policyAssignmentName() { + return this.inner().policyAssignmentName(); + } + + @Override + public String policyAssignmentOwner() { + return this.inner().policyAssignmentOwner(); + } + + @Override + public String policyAssignmentParameters() { + return this.inner().policyAssignmentParameters(); + } + + @Override + public String policyAssignmentScope() { + return this.inner().policyAssignmentScope(); + } + + @Override + public String policyAssignmentVersion() { + return this.inner().policyAssignmentVersion(); + } + + @Override + public String policyDefinitionAction() { + return this.inner().policyDefinitionAction(); + } + + @Override + public String policyDefinitionCategory() { + return this.inner().policyDefinitionCategory(); + } + + @Override + public List policyDefinitionGroupNames() { + return this.inner().policyDefinitionGroupNames(); + } + + @Override + public String policyDefinitionId() { + return this.inner().policyDefinitionId(); + } + + @Override + public String policyDefinitionName() { + return this.inner().policyDefinitionName(); + } + + @Override + public String policyDefinitionReferenceId() { + return this.inner().policyDefinitionReferenceId(); + } + + @Override + public String policyDefinitionVersion() { + return this.inner().policyDefinitionVersion(); + } + + @Override + public PolicyEvaluationDetails policyEvaluationDetails() { + return this.inner().policyEvaluationDetails(); + } + + @Override + public String policySetDefinitionCategory() { + return this.inner().policySetDefinitionCategory(); + } + + @Override + public String policySetDefinitionId() { + return this.inner().policySetDefinitionId(); + } + + @Override + public String policySetDefinitionName() { + return this.inner().policySetDefinitionName(); + } + + @Override + public String policySetDefinitionOwner() { + return this.inner().policySetDefinitionOwner(); + } + + @Override + public String policySetDefinitionParameters() { + return this.inner().policySetDefinitionParameters(); + } + + @Override + public String policySetDefinitionVersion() { + return this.inner().policySetDefinitionVersion(); + } + + @Override + public String resourceGroup() { + return this.inner().resourceGroup(); + } + + @Override + public String resourceId() { + return this.inner().resourceId(); + } + + @Override + public String resourceLocation() { + return this.inner().resourceLocation(); + } + + @Override + public String resourceTags() { + return this.inner().resourceTags(); + } + + @Override + public String resourceType() { + return this.inner().resourceType(); + } + + @Override + public String subscriptionId() { + return this.inner().subscriptionId(); + } + + @Override + public DateTime timestamp() { + return this.inner().timestamp(); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyStateInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyStateInner.java new file mode 100644 index 000000000000..a79f41788d68 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyStateInner.java @@ -0,0 +1,910 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import java.util.Map; +import org.joda.time.DateTime; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyEvaluationDetails; +import java.util.List; +import com.microsoft.azure.management.policyinsights.v2020_07_01.ComponentStateDetails; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Policy state record. + */ +public class PolicyStateInner { + /** + * Unmatched properties from the message are deserialized this collection. + */ + @JsonProperty(value = "") + private Map additionalProperties; + + /** + * OData entity ID; always set to null since policy state records do not + * have an entity ID. + */ + @JsonProperty(value = "@odata\\.id") + private String odataid; + + /** + * OData context string; used by OData clients to resolve type information + * based on metadata. + */ + @JsonProperty(value = "@odata\\.context") + private String odatacontext; + + /** + * Timestamp for the policy state record. + */ + @JsonProperty(value = "timestamp") + private DateTime timestamp; + + /** + * Resource ID. + */ + @JsonProperty(value = "resourceId") + private String resourceId; + + /** + * Policy assignment ID. + */ + @JsonProperty(value = "policyAssignmentId") + private String policyAssignmentId; + + /** + * Policy definition ID. + */ + @JsonProperty(value = "policyDefinitionId") + private String policyDefinitionId; + + /** + * Effective parameters for the policy assignment. + */ + @JsonProperty(value = "effectiveParameters") + private String effectiveParameters; + + /** + * Flag which states whether the resource is compliant against the policy + * assignment it was evaluated against. This property is deprecated; please + * use ComplianceState instead. + */ + @JsonProperty(value = "isCompliant") + private Boolean isCompliant; + + /** + * Subscription ID. + */ + @JsonProperty(value = "subscriptionId") + private String subscriptionId; + + /** + * Resource type. + */ + @JsonProperty(value = "resourceType") + private String resourceType; + + /** + * Resource location. + */ + @JsonProperty(value = "resourceLocation") + private String resourceLocation; + + /** + * Resource group name. + */ + @JsonProperty(value = "resourceGroup") + private String resourceGroup; + + /** + * List of resource tags. + */ + @JsonProperty(value = "resourceTags") + private String resourceTags; + + /** + * Policy assignment name. + */ + @JsonProperty(value = "policyAssignmentName") + private String policyAssignmentName; + + /** + * Policy assignment owner. + */ + @JsonProperty(value = "policyAssignmentOwner") + private String policyAssignmentOwner; + + /** + * Policy assignment parameters. + */ + @JsonProperty(value = "policyAssignmentParameters") + private String policyAssignmentParameters; + + /** + * Policy assignment scope. + */ + @JsonProperty(value = "policyAssignmentScope") + private String policyAssignmentScope; + + /** + * Policy definition name. + */ + @JsonProperty(value = "policyDefinitionName") + private String policyDefinitionName; + + /** + * Policy definition action, i.e. effect. + */ + @JsonProperty(value = "policyDefinitionAction") + private String policyDefinitionAction; + + /** + * Policy definition category. + */ + @JsonProperty(value = "policyDefinitionCategory") + private String policyDefinitionCategory; + + /** + * Policy set definition ID, if the policy assignment is for a policy set. + */ + @JsonProperty(value = "policySetDefinitionId") + private String policySetDefinitionId; + + /** + * Policy set definition name, if the policy assignment is for a policy + * set. + */ + @JsonProperty(value = "policySetDefinitionName") + private String policySetDefinitionName; + + /** + * Policy set definition owner, if the policy assignment is for a policy + * set. + */ + @JsonProperty(value = "policySetDefinitionOwner") + private String policySetDefinitionOwner; + + /** + * Policy set definition category, if the policy assignment is for a policy + * set. + */ + @JsonProperty(value = "policySetDefinitionCategory") + private String policySetDefinitionCategory; + + /** + * Policy set definition parameters, if the policy assignment is for a + * policy set. + */ + @JsonProperty(value = "policySetDefinitionParameters") + private String policySetDefinitionParameters; + + /** + * Comma separated list of management group IDs, which represent the + * hierarchy of the management groups the resource is under. + */ + @JsonProperty(value = "managementGroupIds") + private String managementGroupIds; + + /** + * Reference ID for the policy definition inside the policy set, if the + * policy assignment is for a policy set. + */ + @JsonProperty(value = "policyDefinitionReferenceId") + private String policyDefinitionReferenceId; + + /** + * Compliance state of the resource. + */ + @JsonProperty(value = "complianceState") + private String complianceState; + + /** + * Policy evaluation details. + */ + @JsonProperty(value = "policyEvaluationDetails") + private PolicyEvaluationDetails policyEvaluationDetails; + + /** + * Policy definition group names. + */ + @JsonProperty(value = "policyDefinitionGroupNames") + private List policyDefinitionGroupNames; + + /** + * Components state compliance records populated only when URL contains + * $expand=components clause. + */ + @JsonProperty(value = "components") + private List components; + + /** + * Evaluated policy definition version. + */ + @JsonProperty(value = "policyDefinitionVersion", access = JsonProperty.Access.WRITE_ONLY) + private String policyDefinitionVersion; + + /** + * Evaluated policy set definition version. + */ + @JsonProperty(value = "policySetDefinitionVersion", access = JsonProperty.Access.WRITE_ONLY) + private String policySetDefinitionVersion; + + /** + * Evaluated policy assignment version. + */ + @JsonProperty(value = "policyAssignmentVersion", access = JsonProperty.Access.WRITE_ONLY) + private String policyAssignmentVersion; + + /** + * Get unmatched properties from the message are deserialized this collection. + * + * @return the additionalProperties value + */ + public Map additionalProperties() { + return this.additionalProperties; + } + + /** + * Set unmatched properties from the message are deserialized this collection. + * + * @param additionalProperties the additionalProperties value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + return this; + } + + /** + * Get oData entity ID; always set to null since policy state records do not have an entity ID. + * + * @return the odataid value + */ + public String odataid() { + return this.odataid; + } + + /** + * Set oData entity ID; always set to null since policy state records do not have an entity ID. + * + * @param odataid the odataid value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withOdataid(String odataid) { + this.odataid = odataid; + return this; + } + + /** + * Get oData context string; used by OData clients to resolve type information based on metadata. + * + * @return the odatacontext value + */ + public String odatacontext() { + return this.odatacontext; + } + + /** + * Set oData context string; used by OData clients to resolve type information based on metadata. + * + * @param odatacontext the odatacontext value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withOdatacontext(String odatacontext) { + this.odatacontext = odatacontext; + return this; + } + + /** + * Get timestamp for the policy state record. + * + * @return the timestamp value + */ + public DateTime timestamp() { + return this.timestamp; + } + + /** + * Set timestamp for the policy state record. + * + * @param timestamp the timestamp value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withTimestamp(DateTime timestamp) { + this.timestamp = timestamp; + return this; + } + + /** + * Get resource ID. + * + * @return the resourceId value + */ + public String resourceId() { + return this.resourceId; + } + + /** + * Set resource ID. + * + * @param resourceId the resourceId value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withResourceId(String resourceId) { + this.resourceId = resourceId; + return this; + } + + /** + * Get policy assignment ID. + * + * @return the policyAssignmentId value + */ + public String policyAssignmentId() { + return this.policyAssignmentId; + } + + /** + * Set policy assignment ID. + * + * @param policyAssignmentId the policyAssignmentId value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicyAssignmentId(String policyAssignmentId) { + this.policyAssignmentId = policyAssignmentId; + return this; + } + + /** + * Get policy definition ID. + * + * @return the policyDefinitionId value + */ + public String policyDefinitionId() { + return this.policyDefinitionId; + } + + /** + * Set policy definition ID. + * + * @param policyDefinitionId the policyDefinitionId value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicyDefinitionId(String policyDefinitionId) { + this.policyDefinitionId = policyDefinitionId; + return this; + } + + /** + * Get effective parameters for the policy assignment. + * + * @return the effectiveParameters value + */ + public String effectiveParameters() { + return this.effectiveParameters; + } + + /** + * Set effective parameters for the policy assignment. + * + * @param effectiveParameters the effectiveParameters value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withEffectiveParameters(String effectiveParameters) { + this.effectiveParameters = effectiveParameters; + return this; + } + + /** + * Get flag which states whether the resource is compliant against the policy assignment it was evaluated against. This property is deprecated; please use ComplianceState instead. + * + * @return the isCompliant value + */ + public Boolean isCompliant() { + return this.isCompliant; + } + + /** + * Set flag which states whether the resource is compliant against the policy assignment it was evaluated against. This property is deprecated; please use ComplianceState instead. + * + * @param isCompliant the isCompliant value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withIsCompliant(Boolean isCompliant) { + this.isCompliant = isCompliant; + return this; + } + + /** + * Get subscription ID. + * + * @return the subscriptionId value + */ + public String subscriptionId() { + return this.subscriptionId; + } + + /** + * Set subscription ID. + * + * @param subscriptionId the subscriptionId value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withSubscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Get resource type. + * + * @return the resourceType value + */ + public String resourceType() { + return this.resourceType; + } + + /** + * Set resource type. + * + * @param resourceType the resourceType value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withResourceType(String resourceType) { + this.resourceType = resourceType; + return this; + } + + /** + * Get resource location. + * + * @return the resourceLocation value + */ + public String resourceLocation() { + return this.resourceLocation; + } + + /** + * Set resource location. + * + * @param resourceLocation the resourceLocation value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withResourceLocation(String resourceLocation) { + this.resourceLocation = resourceLocation; + return this; + } + + /** + * Get resource group name. + * + * @return the resourceGroup value + */ + public String resourceGroup() { + return this.resourceGroup; + } + + /** + * Set resource group name. + * + * @param resourceGroup the resourceGroup value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withResourceGroup(String resourceGroup) { + this.resourceGroup = resourceGroup; + return this; + } + + /** + * Get list of resource tags. + * + * @return the resourceTags value + */ + public String resourceTags() { + return this.resourceTags; + } + + /** + * Set list of resource tags. + * + * @param resourceTags the resourceTags value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withResourceTags(String resourceTags) { + this.resourceTags = resourceTags; + return this; + } + + /** + * Get policy assignment name. + * + * @return the policyAssignmentName value + */ + public String policyAssignmentName() { + return this.policyAssignmentName; + } + + /** + * Set policy assignment name. + * + * @param policyAssignmentName the policyAssignmentName value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicyAssignmentName(String policyAssignmentName) { + this.policyAssignmentName = policyAssignmentName; + return this; + } + + /** + * Get policy assignment owner. + * + * @return the policyAssignmentOwner value + */ + public String policyAssignmentOwner() { + return this.policyAssignmentOwner; + } + + /** + * Set policy assignment owner. + * + * @param policyAssignmentOwner the policyAssignmentOwner value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicyAssignmentOwner(String policyAssignmentOwner) { + this.policyAssignmentOwner = policyAssignmentOwner; + return this; + } + + /** + * Get policy assignment parameters. + * + * @return the policyAssignmentParameters value + */ + public String policyAssignmentParameters() { + return this.policyAssignmentParameters; + } + + /** + * Set policy assignment parameters. + * + * @param policyAssignmentParameters the policyAssignmentParameters value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicyAssignmentParameters(String policyAssignmentParameters) { + this.policyAssignmentParameters = policyAssignmentParameters; + return this; + } + + /** + * Get policy assignment scope. + * + * @return the policyAssignmentScope value + */ + public String policyAssignmentScope() { + return this.policyAssignmentScope; + } + + /** + * Set policy assignment scope. + * + * @param policyAssignmentScope the policyAssignmentScope value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicyAssignmentScope(String policyAssignmentScope) { + this.policyAssignmentScope = policyAssignmentScope; + return this; + } + + /** + * Get policy definition name. + * + * @return the policyDefinitionName value + */ + public String policyDefinitionName() { + return this.policyDefinitionName; + } + + /** + * Set policy definition name. + * + * @param policyDefinitionName the policyDefinitionName value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicyDefinitionName(String policyDefinitionName) { + this.policyDefinitionName = policyDefinitionName; + return this; + } + + /** + * Get policy definition action, i.e. effect. + * + * @return the policyDefinitionAction value + */ + public String policyDefinitionAction() { + return this.policyDefinitionAction; + } + + /** + * Set policy definition action, i.e. effect. + * + * @param policyDefinitionAction the policyDefinitionAction value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicyDefinitionAction(String policyDefinitionAction) { + this.policyDefinitionAction = policyDefinitionAction; + return this; + } + + /** + * Get policy definition category. + * + * @return the policyDefinitionCategory value + */ + public String policyDefinitionCategory() { + return this.policyDefinitionCategory; + } + + /** + * Set policy definition category. + * + * @param policyDefinitionCategory the policyDefinitionCategory value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicyDefinitionCategory(String policyDefinitionCategory) { + this.policyDefinitionCategory = policyDefinitionCategory; + return this; + } + + /** + * Get policy set definition ID, if the policy assignment is for a policy set. + * + * @return the policySetDefinitionId value + */ + public String policySetDefinitionId() { + return this.policySetDefinitionId; + } + + /** + * Set policy set definition ID, if the policy assignment is for a policy set. + * + * @param policySetDefinitionId the policySetDefinitionId value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicySetDefinitionId(String policySetDefinitionId) { + this.policySetDefinitionId = policySetDefinitionId; + return this; + } + + /** + * Get policy set definition name, if the policy assignment is for a policy set. + * + * @return the policySetDefinitionName value + */ + public String policySetDefinitionName() { + return this.policySetDefinitionName; + } + + /** + * Set policy set definition name, if the policy assignment is for a policy set. + * + * @param policySetDefinitionName the policySetDefinitionName value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicySetDefinitionName(String policySetDefinitionName) { + this.policySetDefinitionName = policySetDefinitionName; + return this; + } + + /** + * Get policy set definition owner, if the policy assignment is for a policy set. + * + * @return the policySetDefinitionOwner value + */ + public String policySetDefinitionOwner() { + return this.policySetDefinitionOwner; + } + + /** + * Set policy set definition owner, if the policy assignment is for a policy set. + * + * @param policySetDefinitionOwner the policySetDefinitionOwner value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicySetDefinitionOwner(String policySetDefinitionOwner) { + this.policySetDefinitionOwner = policySetDefinitionOwner; + return this; + } + + /** + * Get policy set definition category, if the policy assignment is for a policy set. + * + * @return the policySetDefinitionCategory value + */ + public String policySetDefinitionCategory() { + return this.policySetDefinitionCategory; + } + + /** + * Set policy set definition category, if the policy assignment is for a policy set. + * + * @param policySetDefinitionCategory the policySetDefinitionCategory value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicySetDefinitionCategory(String policySetDefinitionCategory) { + this.policySetDefinitionCategory = policySetDefinitionCategory; + return this; + } + + /** + * Get policy set definition parameters, if the policy assignment is for a policy set. + * + * @return the policySetDefinitionParameters value + */ + public String policySetDefinitionParameters() { + return this.policySetDefinitionParameters; + } + + /** + * Set policy set definition parameters, if the policy assignment is for a policy set. + * + * @param policySetDefinitionParameters the policySetDefinitionParameters value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicySetDefinitionParameters(String policySetDefinitionParameters) { + this.policySetDefinitionParameters = policySetDefinitionParameters; + return this; + } + + /** + * Get comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under. + * + * @return the managementGroupIds value + */ + public String managementGroupIds() { + return this.managementGroupIds; + } + + /** + * Set comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under. + * + * @param managementGroupIds the managementGroupIds value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withManagementGroupIds(String managementGroupIds) { + this.managementGroupIds = managementGroupIds; + return this; + } + + /** + * Get reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set. + * + * @return the policyDefinitionReferenceId value + */ + public String policyDefinitionReferenceId() { + return this.policyDefinitionReferenceId; + } + + /** + * Set reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set. + * + * @param policyDefinitionReferenceId the policyDefinitionReferenceId value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicyDefinitionReferenceId(String policyDefinitionReferenceId) { + this.policyDefinitionReferenceId = policyDefinitionReferenceId; + return this; + } + + /** + * Get compliance state of the resource. + * + * @return the complianceState value + */ + public String complianceState() { + return this.complianceState; + } + + /** + * Set compliance state of the resource. + * + * @param complianceState the complianceState value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withComplianceState(String complianceState) { + this.complianceState = complianceState; + return this; + } + + /** + * Get policy evaluation details. + * + * @return the policyEvaluationDetails value + */ + public PolicyEvaluationDetails policyEvaluationDetails() { + return this.policyEvaluationDetails; + } + + /** + * Set policy evaluation details. + * + * @param policyEvaluationDetails the policyEvaluationDetails value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicyEvaluationDetails(PolicyEvaluationDetails policyEvaluationDetails) { + this.policyEvaluationDetails = policyEvaluationDetails; + return this; + } + + /** + * Get policy definition group names. + * + * @return the policyDefinitionGroupNames value + */ + public List policyDefinitionGroupNames() { + return this.policyDefinitionGroupNames; + } + + /** + * Set policy definition group names. + * + * @param policyDefinitionGroupNames the policyDefinitionGroupNames value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withPolicyDefinitionGroupNames(List policyDefinitionGroupNames) { + this.policyDefinitionGroupNames = policyDefinitionGroupNames; + return this; + } + + /** + * Get components state compliance records populated only when URL contains $expand=components clause. + * + * @return the components value + */ + public List components() { + return this.components; + } + + /** + * Set components state compliance records populated only when URL contains $expand=components clause. + * + * @param components the components value to set + * @return the PolicyStateInner object itself. + */ + public PolicyStateInner withComponents(List components) { + this.components = components; + return this; + } + + /** + * Get evaluated policy definition version. + * + * @return the policyDefinitionVersion value + */ + public String policyDefinitionVersion() { + return this.policyDefinitionVersion; + } + + /** + * Get evaluated policy set definition version. + * + * @return the policySetDefinitionVersion value + */ + public String policySetDefinitionVersion() { + return this.policySetDefinitionVersion; + } + + /** + * Get evaluated policy assignment version. + * + * @return the policyAssignmentVersion value + */ + public String policyAssignmentVersion() { + return this.policyAssignmentVersion; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyStatesImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyStatesImpl.java new file mode 100644 index 000000000000..3d89e5113ebe --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyStatesImpl.java @@ -0,0 +1,286 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * abc + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates; +import rx.Completable; +import rx.functions.Func1; +import rx.Observable; +import com.microsoft.azure.Page; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyState; +import com.microsoft.azure.management.policyinsights.v2020_07_01.SummarizeResults; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStatesResource; + +class PolicyStatesImpl extends WrapperImpl implements PolicyStates { + private final PolicyInsightsManager manager; + + PolicyStatesImpl(PolicyInsightsManager manager) { + super(manager.inner().policyStates()); + this.manager = manager; + } + + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public Observable listQueryResultsForManagementGroupAsync(final PolicyStatesResource policyStatesResource, final String managementGroupName) { + PolicyStatesInner client = this.inner(); + return client.listQueryResultsForManagementGroupAsync(policyStatesResource, managementGroupName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyState call(PolicyStateInner inner) { + return new PolicyStateImpl(inner, manager()); + } + }); + } + + @Override + public Observable summarizeForManagementGroupAsync(String managementGroupName) { + PolicyStatesInner client = this.inner(); + return client.summarizeForManagementGroupAsync(managementGroupName) + .map(new Func1() { + @Override + public SummarizeResults call(SummarizeResultsInner inner) { + return new SummarizeResultsImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForSubscriptionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId) { + PolicyStatesInner client = this.inner(); + return client.listQueryResultsForSubscriptionAsync(policyStatesResource, subscriptionId) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyState call(PolicyStateInner inner) { + return new PolicyStateImpl(inner, manager()); + } + }); + } + + @Override + public Observable summarizeForSubscriptionAsync(String subscriptionId) { + PolicyStatesInner client = this.inner(); + return client.summarizeForSubscriptionAsync(subscriptionId) + .map(new Func1() { + @Override + public SummarizeResults call(SummarizeResultsInner inner) { + return new SummarizeResultsImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForResourceGroupAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName) { + PolicyStatesInner client = this.inner(); + return client.listQueryResultsForResourceGroupAsync(policyStatesResource, subscriptionId, resourceGroupName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyState call(PolicyStateInner inner) { + return new PolicyStateImpl(inner, manager()); + } + }); + } + + @Override + public Observable summarizeForResourceGroupAsync(String subscriptionId, String resourceGroupName) { + PolicyStatesInner client = this.inner(); + return client.summarizeForResourceGroupAsync(subscriptionId, resourceGroupName) + .map(new Func1() { + @Override + public SummarizeResults call(SummarizeResultsInner inner) { + return new SummarizeResultsImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForResourceAsync(final PolicyStatesResource policyStatesResource, final String resourceId) { + PolicyStatesInner client = this.inner(); + return client.listQueryResultsForResourceAsync(policyStatesResource, resourceId) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyState call(PolicyStateInner inner) { + return new PolicyStateImpl(inner, manager()); + } + }); + } + + @Override + public Observable summarizeForResourceAsync(String resourceId) { + PolicyStatesInner client = this.inner(); + return client.summarizeForResourceAsync(resourceId) + .map(new Func1() { + @Override + public SummarizeResults call(SummarizeResultsInner inner) { + return new SummarizeResultsImpl(inner, manager()); + } + }); + } + + @Override + public Completable triggerSubscriptionEvaluationAsync(String subscriptionId) { + PolicyStatesInner client = this.inner(); + return client.triggerSubscriptionEvaluationAsync(subscriptionId).toCompletable(); + } + + @Override + public Completable triggerResourceGroupEvaluationAsync(String subscriptionId, String resourceGroupName) { + PolicyStatesInner client = this.inner(); + return client.triggerResourceGroupEvaluationAsync(subscriptionId, resourceGroupName).toCompletable(); + } + + @Override + public Observable listQueryResultsForPolicySetDefinitionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policySetDefinitionName) { + PolicyStatesInner client = this.inner(); + return client.listQueryResultsForPolicySetDefinitionAsync(policyStatesResource, subscriptionId, policySetDefinitionName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyState call(PolicyStateInner inner) { + return new PolicyStateImpl(inner, manager()); + } + }); + } + + @Override + public Observable summarizeForPolicySetDefinitionAsync(String subscriptionId, String policySetDefinitionName) { + PolicyStatesInner client = this.inner(); + return client.summarizeForPolicySetDefinitionAsync(subscriptionId, policySetDefinitionName) + .map(new Func1() { + @Override + public SummarizeResults call(SummarizeResultsInner inner) { + return new SummarizeResultsImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForPolicyDefinitionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyDefinitionName) { + PolicyStatesInner client = this.inner(); + return client.listQueryResultsForPolicyDefinitionAsync(policyStatesResource, subscriptionId, policyDefinitionName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyState call(PolicyStateInner inner) { + return new PolicyStateImpl(inner, manager()); + } + }); + } + + @Override + public Observable summarizeForPolicyDefinitionAsync(String subscriptionId, String policyDefinitionName) { + PolicyStatesInner client = this.inner(); + return client.summarizeForPolicyDefinitionAsync(subscriptionId, policyDefinitionName) + .map(new Func1() { + @Override + public SummarizeResults call(SummarizeResultsInner inner) { + return new SummarizeResultsImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyAssignmentName) { + PolicyStatesInner client = this.inner(); + return client.listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(policyStatesResource, subscriptionId, policyAssignmentName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyState call(PolicyStateInner inner) { + return new PolicyStateImpl(inner, manager()); + } + }); + } + + @Override + public Observable summarizeForSubscriptionLevelPolicyAssignmentAsync(String subscriptionId, String policyAssignmentName) { + PolicyStatesInner client = this.inner(); + return client.summarizeForSubscriptionLevelPolicyAssignmentAsync(subscriptionId, policyAssignmentName) + .map(new Func1() { + @Override + public SummarizeResults call(SummarizeResultsInner inner) { + return new SummarizeResultsImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final String policyAssignmentName) { + PolicyStatesInner client = this.inner(); + return client.listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(policyStatesResource, subscriptionId, resourceGroupName, policyAssignmentName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyState call(PolicyStateInner inner) { + return new PolicyStateImpl(inner, manager()); + } + }); + } + + @Override + public Observable summarizeForResourceGroupLevelPolicyAssignmentAsync(String subscriptionId, String resourceGroupName, String policyAssignmentName) { + PolicyStatesInner client = this.inner(); + return client.summarizeForResourceGroupLevelPolicyAssignmentAsync(subscriptionId, resourceGroupName, policyAssignmentName) + .map(new Func1() { + @Override + public SummarizeResults call(SummarizeResultsInner inner) { + return new SummarizeResultsImpl(inner, manager()); + } + }); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyStatesInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyStatesInner.java new file mode 100644 index 000000000000..259343dae7a2 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyStatesInner.java @@ -0,0 +1,5108 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import retrofit2.Retrofit; +import com.google.common.reflect.TypeToken; +import com.microsoft.azure.AzureServiceFuture; +import com.microsoft.azure.ListOperationCallback; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStatesResource; +import com.microsoft.azure.management.policyinsights.v2020_07_01.QueryFailureException; +import com.microsoft.azure.management.policyinsights.v2020_07_01.QueryOptions; +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 org.joda.time.DateTime; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.Path; +import retrofit2.http.POST; +import retrofit2.http.Query; +import retrofit2.http.Url; +import retrofit2.Response; +import rx.functions.Func1; +import rx.Observable; +import com.microsoft.azure.LongRunningFinalState; +import com.microsoft.azure.LongRunningOperationOptions; + +/** + * An instance of this class provides access to all the operations defined + * in PolicyStates. + */ +public class PolicyStatesInner { + /** The Retrofit service to perform REST calls. */ + private PolicyStatesService service; + /** The service client containing this operation class. */ + private PolicyInsightsClientImpl client; + + /** + * Initializes an instance of PolicyStatesInner. + * + * @param retrofit the Retrofit instance built from a Retrofit Builder. + * @param client the instance of the service client containing this operation class. + */ + public PolicyStatesInner(Retrofit retrofit, PolicyInsightsClientImpl client) { + this.service = retrofit.create(PolicyStatesService.class); + this.client = client; + } + + /** + * The interface defining all the services for PolicyStates to be + * used by Retrofit to perform actually REST calls. + */ + interface PolicyStatesService { + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates listQueryResultsForManagementGroup" }) + @POST("providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults") + Observable> listQueryResultsForManagementGroup(@Path("policyStatesResource") PolicyStatesResource policyStatesResource1, @Path("managementGroupsNamespace") String managementGroupsNamespace, @Path("managementGroupName") String managementGroupName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates summarizeForManagementGroup" }) + @POST("providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize") + Observable> summarizeForManagementGroup(@Path("policyStatesSummaryResource") String policyStatesSummaryResource, @Path("managementGroupsNamespace") String managementGroupsNamespace, @Path("managementGroupName") String managementGroupName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates listQueryResultsForSubscription" }) + @POST("subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults") + Observable> listQueryResultsForSubscription(@Path("policyStatesResource") PolicyStatesResource policyStatesResource1, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates summarizeForSubscription" }) + @POST("subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize") + Observable> summarizeForSubscription(@Path("policyStatesSummaryResource") String policyStatesSummaryResource, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates listQueryResultsForResourceGroup" }) + @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults") + Observable> listQueryResultsForResourceGroup(@Path("policyStatesResource") PolicyStatesResource policyStatesResource1, @Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates summarizeForResourceGroup" }) + @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize") + Observable> summarizeForResourceGroup(@Path("policyStatesSummaryResource") String policyStatesSummaryResource, @Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates listQueryResultsForResource" }) + @POST("{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults") + Observable> listQueryResultsForResource(@Path("policyStatesResource") PolicyStatesResource policyStatesResource1, @Path(value = "resourceId", encoded = true) String resourceId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$expand") String expand, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates summarizeForResource" }) + @POST("{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize") + Observable> summarizeForResource(@Path("policyStatesSummaryResource") String policyStatesSummaryResource, @Path(value = "resourceId", encoded = true) String resourceId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates triggerSubscriptionEvaluation" }) + @POST("subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation") + Observable> triggerSubscriptionEvaluation(@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.policyinsights.v2020_07_01.PolicyStates beginTriggerSubscriptionEvaluation" }) + @POST("subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation") + Observable> beginTriggerSubscriptionEvaluation(@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.policyinsights.v2020_07_01.PolicyStates triggerResourceGroupEvaluation" }) + @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation") + Observable> triggerResourceGroupEvaluation(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @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.policyinsights.v2020_07_01.PolicyStates beginTriggerResourceGroupEvaluation" }) + @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation") + Observable> beginTriggerResourceGroupEvaluation(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @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.policyinsights.v2020_07_01.PolicyStates listQueryResultsForPolicySetDefinition" }) + @POST("subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults") + Observable> listQueryResultsForPolicySetDefinition(@Path("policyStatesResource") PolicyStatesResource policyStatesResource1, @Path("subscriptionId") String subscriptionId, @Path("authorizationNamespace") String authorizationNamespace, @Path("policySetDefinitionName") String policySetDefinitionName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates summarizeForPolicySetDefinition" }) + @POST("subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize") + Observable> summarizeForPolicySetDefinition(@Path("policyStatesSummaryResource") String policyStatesSummaryResource, @Path("subscriptionId") String subscriptionId, @Path("authorizationNamespace") String authorizationNamespace, @Path("policySetDefinitionName") String policySetDefinitionName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates listQueryResultsForPolicyDefinition" }) + @POST("subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults") + Observable> listQueryResultsForPolicyDefinition(@Path("policyStatesResource") PolicyStatesResource policyStatesResource1, @Path("subscriptionId") String subscriptionId, @Path("authorizationNamespace") String authorizationNamespace, @Path("policyDefinitionName") String policyDefinitionName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates summarizeForPolicyDefinition" }) + @POST("subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize") + Observable> summarizeForPolicyDefinition(@Path("policyStatesSummaryResource") String policyStatesSummaryResource, @Path("subscriptionId") String subscriptionId, @Path("authorizationNamespace") String authorizationNamespace, @Path("policyDefinitionName") String policyDefinitionName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates listQueryResultsForSubscriptionLevelPolicyAssignment" }) + @POST("subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults") + Observable> listQueryResultsForSubscriptionLevelPolicyAssignment(@Path("policyStatesResource") PolicyStatesResource policyStatesResource1, @Path("subscriptionId") String subscriptionId, @Path("authorizationNamespace") String authorizationNamespace, @Path("policyAssignmentName") String policyAssignmentName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates summarizeForSubscriptionLevelPolicyAssignment" }) + @POST("subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize") + Observable> summarizeForSubscriptionLevelPolicyAssignment(@Path("policyStatesSummaryResource") String policyStatesSummaryResource, @Path("subscriptionId") String subscriptionId, @Path("authorizationNamespace") String authorizationNamespace, @Path("policyAssignmentName") String policyAssignmentName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates listQueryResultsForResourceGroupLevelPolicyAssignment" }) + @POST("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults") + Observable> listQueryResultsForResourceGroupLevelPolicyAssignment(@Path("policyStatesResource") PolicyStatesResource policyStatesResource1, @Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("authorizationNamespace") String authorizationNamespace, @Path("policyAssignmentName") String policyAssignmentName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$orderby") String orderBy, @Query("$select") String select, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Query("$apply") String apply, @Query("$skiptoken") String skipToken, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates summarizeForResourceGroupLevelPolicyAssignment" }) + @POST("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize") + Observable> summarizeForResourceGroupLevelPolicyAssignment(@Path("policyStatesSummaryResource") String policyStatesSummaryResource, @Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("authorizationNamespace") String authorizationNamespace, @Path("policyAssignmentName") String policyAssignmentName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$from") DateTime from, @Query("$to") DateTime to, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyStates listQueryResultsForManagementGroupNext" }) + @GET + Observable> listQueryResultsForManagementGroupNext(@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.policyinsights.v2020_07_01.PolicyStates listQueryResultsForSubscriptionNext" }) + @GET + Observable> listQueryResultsForSubscriptionNext(@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.policyinsights.v2020_07_01.PolicyStates listQueryResultsForResourceGroupNext" }) + @GET + Observable> listQueryResultsForResourceGroupNext(@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.policyinsights.v2020_07_01.PolicyStates listQueryResultsForResourceNext" }) + @GET + Observable> listQueryResultsForResourceNext(@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.policyinsights.v2020_07_01.PolicyStates listQueryResultsForPolicySetDefinitionNext" }) + @GET + Observable> listQueryResultsForPolicySetDefinitionNext(@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.policyinsights.v2020_07_01.PolicyStates listQueryResultsForPolicyDefinitionNext" }) + @GET + Observable> listQueryResultsForPolicyDefinitionNext(@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.policyinsights.v2020_07_01.PolicyStates listQueryResultsForSubscriptionLevelPolicyAssignmentNext" }) + @GET + Observable> listQueryResultsForSubscriptionLevelPolicyAssignmentNext(@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.policyinsights.v2020_07_01.PolicyStates listQueryResultsForResourceGroupLevelPolicyAssignmentNext" }) + @GET + Observable> listQueryResultsForResourceGroupLevelPolicyAssignmentNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent); + + } + + /** + * Queries policy states for the resources under the management group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForManagementGroup(final PolicyStatesResource policyStatesResource, final String managementGroupName) { + ServiceResponse> response = listQueryResultsForManagementGroupSinglePageAsync(policyStatesResource, managementGroupName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resources under the management group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param managementGroupName Management group 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> listQueryResultsForManagementGroupAsync(final PolicyStatesResource policyStatesResource, final String managementGroupName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForManagementGroupSinglePageAsync(policyStatesResource, managementGroupName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resources under the management group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForManagementGroupAsync(final PolicyStatesResource policyStatesResource, final String managementGroupName) { + return listQueryResultsForManagementGroupWithServiceResponseAsync(policyStatesResource, managementGroupName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resources under the management group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForManagementGroupWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String managementGroupName) { + return listQueryResultsForManagementGroupSinglePageAsync(policyStatesResource, managementGroupName) + .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(listQueryResultsForManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resources under the management group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForManagementGroupSinglePageAsync(final PolicyStatesResource policyStatesResource, final String managementGroupName) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (managementGroupName == null) { + throw new IllegalArgumentException("Parameter managementGroupName is required and cannot be null."); + } + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForManagementGroup(policyStatesResource, managementGroupsNamespace, managementGroupName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForManagementGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy states for the resources under the management group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForManagementGroup(final PolicyStatesResource policyStatesResource, final String managementGroupName, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForManagementGroupSinglePageAsync(policyStatesResource, managementGroupName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resources under the management group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForManagementGroupAsync(final PolicyStatesResource policyStatesResource, final String managementGroupName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForManagementGroupSinglePageAsync(policyStatesResource, managementGroupName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resources under the management group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForManagementGroupAsync(final PolicyStatesResource policyStatesResource, final String managementGroupName, final QueryOptions queryOptions) { + return listQueryResultsForManagementGroupWithServiceResponseAsync(policyStatesResource, managementGroupName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resources under the management group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForManagementGroupWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String managementGroupName, final QueryOptions queryOptions) { + return listQueryResultsForManagementGroupSinglePageAsync(policyStatesResource, managementGroupName, queryOptions) + .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(listQueryResultsForManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resources under the management group. + * + ServiceResponse> * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + ServiceResponse> * @param managementGroupName Management group name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForManagementGroupSinglePageAsync(final PolicyStatesResource policyStatesResource, final String managementGroupName, final QueryOptions queryOptions) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (managementGroupName == null) { + throw new IllegalArgumentException("Parameter managementGroupName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForManagementGroup(policyStatesResource, managementGroupsNamespace, managementGroupName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForManagementGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForManagementGroupDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Summarizes policy states for the resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForManagementGroup(String managementGroupName) { + return summarizeForManagementGroupWithServiceResponseAsync(managementGroupName).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the resources under the management group. + * + * @param managementGroupName Management group 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 summarizeForManagementGroupAsync(String managementGroupName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForManagementGroupWithServiceResponseAsync(managementGroupName), serviceCallback); + } + + /** + * Summarizes policy states for the resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForManagementGroupAsync(String managementGroupName) { + return summarizeForManagementGroupWithServiceResponseAsync(managementGroupName).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForManagementGroupWithServiceResponseAsync(String managementGroupName) { + if (managementGroupName == null) { + throw new IllegalArgumentException("Parameter managementGroupName is required and cannot be null."); + } + final String policyStatesSummaryResource = "latest"; + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + DateTime from = null; + DateTime to = null; + String filter = null; + return service.summarizeForManagementGroup(policyStatesSummaryResource, managementGroupsNamespace, managementGroupName, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForManagementGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Summarizes policy states for the resources under the management group. + * + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForManagementGroup(String managementGroupName, QueryOptions queryOptions) { + return summarizeForManagementGroupWithServiceResponseAsync(managementGroupName, queryOptions).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the resources under the management group. + * + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @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 summarizeForManagementGroupAsync(String managementGroupName, QueryOptions queryOptions, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForManagementGroupWithServiceResponseAsync(managementGroupName, queryOptions), serviceCallback); + } + + /** + * Summarizes policy states for the resources under the management group. + * + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForManagementGroupAsync(String managementGroupName, QueryOptions queryOptions) { + return summarizeForManagementGroupWithServiceResponseAsync(managementGroupName, queryOptions).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the resources under the management group. + * + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForManagementGroupWithServiceResponseAsync(String managementGroupName, QueryOptions queryOptions) { + if (managementGroupName == null) { + throw new IllegalArgumentException("Parameter managementGroupName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyStatesSummaryResource = "latest"; + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.summarizeForManagementGroup(policyStatesSummaryResource, managementGroupsNamespace, managementGroupName, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForManagementGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse summarizeForManagementGroupDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the resources under the subscription. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForSubscription(final PolicyStatesResource policyStatesResource, final String subscriptionId) { + ServiceResponse> response = listQueryResultsForSubscriptionSinglePageAsync(policyStatesResource, subscriptionId).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resources under the subscription. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @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> listQueryResultsForSubscriptionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionSinglePageAsync(policyStatesResource, subscriptionId), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resources under the subscription. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForSubscriptionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId) { + return listQueryResultsForSubscriptionWithServiceResponseAsync(policyStatesResource, subscriptionId) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resources under the subscription. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForSubscriptionWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId) { + return listQueryResultsForSubscriptionSinglePageAsync(policyStatesResource, subscriptionId) + .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(listQueryResultsForSubscriptionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resources under the subscription. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionSinglePageAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForSubscription(policyStatesResource, subscriptionId, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy states for the resources under the subscription. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForSubscription(final PolicyStatesResource policyStatesResource, final String subscriptionId, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForSubscriptionSinglePageAsync(policyStatesResource, subscriptionId, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resources under the subscription. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForSubscriptionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionSinglePageAsync(policyStatesResource, subscriptionId, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resources under the subscription. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForSubscriptionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final QueryOptions queryOptions) { + return listQueryResultsForSubscriptionWithServiceResponseAsync(policyStatesResource, subscriptionId, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resources under the subscription. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForSubscriptionWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final QueryOptions queryOptions) { + return listQueryResultsForSubscriptionSinglePageAsync(policyStatesResource, subscriptionId, queryOptions) + .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(listQueryResultsForSubscriptionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resources under the subscription. + * + ServiceResponse> * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionSinglePageAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final QueryOptions queryOptions) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + Validator.validate(queryOptions); + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForSubscription(policyStatesResource, subscriptionId, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForSubscriptionDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Summarizes policy states for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForSubscription(String subscriptionId) { + return summarizeForSubscriptionWithServiceResponseAsync(subscriptionId).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @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 summarizeForSubscriptionAsync(String subscriptionId, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForSubscriptionWithServiceResponseAsync(subscriptionId), serviceCallback); + } + + /** + * Summarizes policy states for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForSubscriptionAsync(String subscriptionId) { + return summarizeForSubscriptionWithServiceResponseAsync(subscriptionId).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForSubscriptionWithServiceResponseAsync(String subscriptionId) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + final String policyStatesSummaryResource = "latest"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + DateTime from = null; + DateTime to = null; + String filter = null; + return service.summarizeForSubscription(policyStatesSummaryResource, subscriptionId, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForSubscriptionDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Summarizes policy states for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForSubscription(String subscriptionId, QueryOptions queryOptions) { + return summarizeForSubscriptionWithServiceResponseAsync(subscriptionId, queryOptions).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @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 summarizeForSubscriptionAsync(String subscriptionId, QueryOptions queryOptions, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForSubscriptionWithServiceResponseAsync(subscriptionId, queryOptions), serviceCallback); + } + + /** + * Summarizes policy states for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForSubscriptionAsync(String subscriptionId, QueryOptions queryOptions) { + return summarizeForSubscriptionWithServiceResponseAsync(subscriptionId, queryOptions).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForSubscriptionWithServiceResponseAsync(String subscriptionId, QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyStatesSummaryResource = "latest"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.summarizeForSubscription(policyStatesSummaryResource, subscriptionId, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForSubscriptionDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse summarizeForSubscriptionDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the resources under the resource group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroup(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName) { + ServiceResponse> response = listQueryResultsForResourceGroupSinglePageAsync(policyStatesResource, subscriptionId, resourceGroupName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resources under the resource group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group 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> listQueryResultsForResourceGroupAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupSinglePageAsync(policyStatesResource, subscriptionId, resourceGroupName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resources under the resource group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForResourceGroupAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName) { + return listQueryResultsForResourceGroupWithServiceResponseAsync(policyStatesResource, subscriptionId, resourceGroupName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resources under the resource group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForResourceGroupWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName) { + return listQueryResultsForResourceGroupSinglePageAsync(policyStatesResource, subscriptionId, 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(listQueryResultsForResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resources under the resource group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupSinglePageAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForResourceGroup(policyStatesResource, subscriptionId, resourceGroupName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy states for the resources under the resource group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroup(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForResourceGroupSinglePageAsync(policyStatesResource, subscriptionId, resourceGroupName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resources under the resource group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForResourceGroupAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupSinglePageAsync(policyStatesResource, subscriptionId, resourceGroupName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resources under the resource group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForResourceGroupAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions) { + return listQueryResultsForResourceGroupWithServiceResponseAsync(policyStatesResource, subscriptionId, resourceGroupName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resources under the resource group. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForResourceGroupWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions) { + return listQueryResultsForResourceGroupSinglePageAsync(policyStatesResource, subscriptionId, resourceGroupName, queryOptions) + .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(listQueryResultsForResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resources under the resource group. + * + ServiceResponse> * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param resourceGroupName Resource group name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupSinglePageAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForResourceGroup(policyStatesResource, subscriptionId, resourceGroupName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceGroupDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Summarizes policy states for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForResourceGroup(String subscriptionId, String resourceGroupName) { + return summarizeForResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group 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 summarizeForResourceGroupAsync(String subscriptionId, String resourceGroupName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName), serviceCallback); + } + + /** + * Summarizes policy states for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForResourceGroupAsync(String subscriptionId, String resourceGroupName) { + return summarizeForResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForResourceGroupWithServiceResponseAsync(String subscriptionId, String resourceGroupName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + final String policyStatesSummaryResource = "latest"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + DateTime from = null; + DateTime to = null; + String filter = null; + return service.summarizeForResourceGroup(policyStatesSummaryResource, subscriptionId, resourceGroupName, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForResourceGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Summarizes policy states for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForResourceGroup(String subscriptionId, String resourceGroupName, QueryOptions queryOptions) { + return summarizeForResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, queryOptions).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @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 summarizeForResourceGroupAsync(String subscriptionId, String resourceGroupName, QueryOptions queryOptions, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, queryOptions), serviceCallback); + } + + /** + * Summarizes policy states for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForResourceGroupAsync(String subscriptionId, String resourceGroupName, QueryOptions queryOptions) { + return summarizeForResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, queryOptions).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForResourceGroupWithServiceResponseAsync(String subscriptionId, String resourceGroupName, QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyStatesSummaryResource = "latest"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.summarizeForResourceGroup(policyStatesSummaryResource, subscriptionId, resourceGroupName, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForResourceGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse summarizeForResourceGroupDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the resource. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForResource(final PolicyStatesResource policyStatesResource, final String resourceId) { + ServiceResponse> response = listQueryResultsForResourceSinglePageAsync(policyStatesResource, resourceId).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resource. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param resourceId Resource ID. + * @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> listQueryResultsForResourceAsync(final PolicyStatesResource policyStatesResource, final String resourceId, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceSinglePageAsync(policyStatesResource, resourceId), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resource. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForResourceAsync(final PolicyStatesResource policyStatesResource, final String resourceId) { + return listQueryResultsForResourceWithServiceResponseAsync(policyStatesResource, resourceId) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resource. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForResourceWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String resourceId) { + return listQueryResultsForResourceSinglePageAsync(policyStatesResource, resourceId) + .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(listQueryResultsForResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resource. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceSinglePageAsync(final PolicyStatesResource policyStatesResource, final String resourceId) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String expand = null; + String skipToken = null; + return service.listQueryResultsForResource(policyStatesResource, resourceId, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, expand, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy states for the resource. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForResource(final PolicyStatesResource policyStatesResource, final String resourceId, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForResourceSinglePageAsync(policyStatesResource, resourceId, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resource. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForResourceAsync(final PolicyStatesResource policyStatesResource, final String resourceId, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceSinglePageAsync(policyStatesResource, resourceId, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resource. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForResourceAsync(final PolicyStatesResource policyStatesResource, final String resourceId, final QueryOptions queryOptions) { + return listQueryResultsForResourceWithServiceResponseAsync(policyStatesResource, resourceId, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resource. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForResourceWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String resourceId, final QueryOptions queryOptions) { + return listQueryResultsForResourceSinglePageAsync(policyStatesResource, resourceId, queryOptions) + .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(listQueryResultsForResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resource. + * + ServiceResponse> * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + ServiceResponse> * @param resourceId Resource ID. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceSinglePageAsync(final PolicyStatesResource policyStatesResource, final String resourceId, final QueryOptions queryOptions) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + Validator.validate(queryOptions); + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String expand = null; + if (queryOptions != null) { + expand = queryOptions.expand(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForResource(policyStatesResource, resourceId, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, expand, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Summarizes policy states for the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForResource(String resourceId) { + return summarizeForResourceWithServiceResponseAsync(resourceId).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the resource. + * + * @param resourceId Resource ID. + * @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 summarizeForResourceAsync(String resourceId, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForResourceWithServiceResponseAsync(resourceId), serviceCallback); + } + + /** + * Summarizes policy states for the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForResourceAsync(String resourceId) { + return summarizeForResourceWithServiceResponseAsync(resourceId).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForResourceWithServiceResponseAsync(String resourceId) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + final String policyStatesSummaryResource = "latest"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + DateTime from = null; + DateTime to = null; + String filter = null; + return service.summarizeForResource(policyStatesSummaryResource, resourceId, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForResourceDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Summarizes policy states for the resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForResource(String resourceId, QueryOptions queryOptions) { + return summarizeForResourceWithServiceResponseAsync(resourceId, queryOptions).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @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 summarizeForResourceAsync(String resourceId, QueryOptions queryOptions, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForResourceWithServiceResponseAsync(resourceId, queryOptions), serviceCallback); + } + + /** + * Summarizes policy states for the resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForResourceAsync(String resourceId, QueryOptions queryOptions) { + return summarizeForResourceWithServiceResponseAsync(resourceId, queryOptions).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForResourceWithServiceResponseAsync(String resourceId, QueryOptions queryOptions) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyStatesSummaryResource = "latest"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.summarizeForResource(policyStatesSummaryResource, resourceId, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForResourceDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse summarizeForResourceDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Triggers a policy evaluation scan for all the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + */ + public void triggerSubscriptionEvaluation(String subscriptionId) { + triggerSubscriptionEvaluationWithServiceResponseAsync(subscriptionId).toBlocking().last().body(); + } + + /** + * Triggers a policy evaluation scan for all the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @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 triggerSubscriptionEvaluationAsync(String subscriptionId, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(triggerSubscriptionEvaluationWithServiceResponseAsync(subscriptionId), serviceCallback); + } + + /** + * Triggers a policy evaluation scan for all the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable triggerSubscriptionEvaluationAsync(String subscriptionId) { + return triggerSubscriptionEvaluationWithServiceResponseAsync(subscriptionId).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Triggers a policy evaluation scan for all the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable> triggerSubscriptionEvaluationWithServiceResponseAsync(String subscriptionId) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + final String apiVersion = "2019-10-01"; + Observable> observable = service.triggerSubscriptionEvaluation(subscriptionId, apiVersion, this.client.acceptLanguage(), this.client.userAgent()); + return client.getAzureClient().getPostOrDeleteResultAsync(observable, new LongRunningOperationOptions().withFinalStateVia(LongRunningFinalState.LOCATION), new TypeToken() { }.getType()); + } + + /** + * Triggers a policy evaluation scan for all the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + */ + public void beginTriggerSubscriptionEvaluation(String subscriptionId) { + beginTriggerSubscriptionEvaluationWithServiceResponseAsync(subscriptionId).toBlocking().single().body(); + } + + /** + * Triggers a policy evaluation scan for all the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @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 beginTriggerSubscriptionEvaluationAsync(String subscriptionId, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(beginTriggerSubscriptionEvaluationWithServiceResponseAsync(subscriptionId), serviceCallback); + } + + /** + * Triggers a policy evaluation scan for all the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable beginTriggerSubscriptionEvaluationAsync(String subscriptionId) { + return beginTriggerSubscriptionEvaluationWithServiceResponseAsync(subscriptionId).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Triggers a policy evaluation scan for all the resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable> beginTriggerSubscriptionEvaluationWithServiceResponseAsync(String subscriptionId) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + final String apiVersion = "2019-10-01"; + return service.beginTriggerSubscriptionEvaluation(subscriptionId, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = beginTriggerSubscriptionEvaluationDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse beginTriggerSubscriptionEvaluationDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .register(202, new TypeToken() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Triggers a policy evaluation scan for all the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + */ + public void triggerResourceGroupEvaluation(String subscriptionId, String resourceGroupName) { + triggerResourceGroupEvaluationWithServiceResponseAsync(subscriptionId, resourceGroupName).toBlocking().last().body(); + } + + /** + * Triggers a policy evaluation scan for all the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group 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 triggerResourceGroupEvaluationAsync(String subscriptionId, String resourceGroupName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(triggerResourceGroupEvaluationWithServiceResponseAsync(subscriptionId, resourceGroupName), serviceCallback); + } + + /** + * Triggers a policy evaluation scan for all the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable triggerResourceGroupEvaluationAsync(String subscriptionId, String resourceGroupName) { + return triggerResourceGroupEvaluationWithServiceResponseAsync(subscriptionId, resourceGroupName).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Triggers a policy evaluation scan for all the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable for the request + */ + public Observable> triggerResourceGroupEvaluationWithServiceResponseAsync(String subscriptionId, String resourceGroupName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + final String apiVersion = "2019-10-01"; + Observable> observable = service.triggerResourceGroupEvaluation(subscriptionId, resourceGroupName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()); + return client.getAzureClient().getPostOrDeleteResultAsync(observable, new LongRunningOperationOptions().withFinalStateVia(LongRunningFinalState.LOCATION), new TypeToken() { }.getType()); + } + + /** + * Triggers a policy evaluation scan for all the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + */ + public void beginTriggerResourceGroupEvaluation(String subscriptionId, String resourceGroupName) { + beginTriggerResourceGroupEvaluationWithServiceResponseAsync(subscriptionId, resourceGroupName).toBlocking().single().body(); + } + + /** + * Triggers a policy evaluation scan for all the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group 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 beginTriggerResourceGroupEvaluationAsync(String subscriptionId, String resourceGroupName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(beginTriggerResourceGroupEvaluationWithServiceResponseAsync(subscriptionId, resourceGroupName), serviceCallback); + } + + /** + * Triggers a policy evaluation scan for all the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable beginTriggerResourceGroupEvaluationAsync(String subscriptionId, String resourceGroupName) { + return beginTriggerResourceGroupEvaluationWithServiceResponseAsync(subscriptionId, resourceGroupName).map(new Func1, Void>() { + @Override + public Void call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Triggers a policy evaluation scan for all the resources under the resource group. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceResponse} object if successful. + */ + public Observable> beginTriggerResourceGroupEvaluationWithServiceResponseAsync(String subscriptionId, String resourceGroupName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + final String apiVersion = "2019-10-01"; + return service.beginTriggerResourceGroupEvaluation(subscriptionId, resourceGroupName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = beginTriggerResourceGroupEvaluationDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse beginTriggerResourceGroupEvaluationDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .register(202, new TypeToken() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the subscription level policy set definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForPolicySetDefinition(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policySetDefinitionName) { + ServiceResponse> response = listQueryResultsForPolicySetDefinitionSinglePageAsync(policyStatesResource, subscriptionId, policySetDefinitionName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the subscription level policy set definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition 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> listQueryResultsForPolicySetDefinitionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policySetDefinitionName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForPolicySetDefinitionSinglePageAsync(policyStatesResource, subscriptionId, policySetDefinitionName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the subscription level policy set definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForPolicySetDefinitionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policySetDefinitionName) { + return listQueryResultsForPolicySetDefinitionWithServiceResponseAsync(policyStatesResource, subscriptionId, policySetDefinitionName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the subscription level policy set definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForPolicySetDefinitionWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policySetDefinitionName) { + return listQueryResultsForPolicySetDefinitionSinglePageAsync(policyStatesResource, subscriptionId, policySetDefinitionName) + .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(listQueryResultsForPolicySetDefinitionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the subscription level policy set definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForPolicySetDefinitionSinglePageAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policySetDefinitionName) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policySetDefinitionName == null) { + throw new IllegalArgumentException("Parameter policySetDefinitionName is required and cannot be null."); + } + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForPolicySetDefinition(policyStatesResource, subscriptionId, authorizationNamespace, policySetDefinitionName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForPolicySetDefinitionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy states for the subscription level policy set definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForPolicySetDefinition(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policySetDefinitionName, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForPolicySetDefinitionSinglePageAsync(policyStatesResource, subscriptionId, policySetDefinitionName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the subscription level policy set definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForPolicySetDefinitionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policySetDefinitionName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForPolicySetDefinitionSinglePageAsync(policyStatesResource, subscriptionId, policySetDefinitionName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the subscription level policy set definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForPolicySetDefinitionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policySetDefinitionName, final QueryOptions queryOptions) { + return listQueryResultsForPolicySetDefinitionWithServiceResponseAsync(policyStatesResource, subscriptionId, policySetDefinitionName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the subscription level policy set definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForPolicySetDefinitionWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policySetDefinitionName, final QueryOptions queryOptions) { + return listQueryResultsForPolicySetDefinitionSinglePageAsync(policyStatesResource, subscriptionId, policySetDefinitionName, queryOptions) + .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(listQueryResultsForPolicySetDefinitionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the subscription level policy set definition. + * + ServiceResponse> * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param policySetDefinitionName Policy set definition name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForPolicySetDefinitionSinglePageAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policySetDefinitionName, final QueryOptions queryOptions) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policySetDefinitionName == null) { + throw new IllegalArgumentException("Parameter policySetDefinitionName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForPolicySetDefinition(policyStatesResource, subscriptionId, authorizationNamespace, policySetDefinitionName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForPolicySetDefinitionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForPolicySetDefinitionDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Summarizes policy states for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForPolicySetDefinition(String subscriptionId, String policySetDefinitionName) { + return summarizeForPolicySetDefinitionWithServiceResponseAsync(subscriptionId, policySetDefinitionName).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition 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 summarizeForPolicySetDefinitionAsync(String subscriptionId, String policySetDefinitionName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForPolicySetDefinitionWithServiceResponseAsync(subscriptionId, policySetDefinitionName), serviceCallback); + } + + /** + * Summarizes policy states for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForPolicySetDefinitionAsync(String subscriptionId, String policySetDefinitionName) { + return summarizeForPolicySetDefinitionWithServiceResponseAsync(subscriptionId, policySetDefinitionName).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForPolicySetDefinitionWithServiceResponseAsync(String subscriptionId, String policySetDefinitionName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policySetDefinitionName == null) { + throw new IllegalArgumentException("Parameter policySetDefinitionName is required and cannot be null."); + } + final String policyStatesSummaryResource = "latest"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + DateTime from = null; + DateTime to = null; + String filter = null; + return service.summarizeForPolicySetDefinition(policyStatesSummaryResource, subscriptionId, authorizationNamespace, policySetDefinitionName, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForPolicySetDefinitionDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Summarizes policy states for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForPolicySetDefinition(String subscriptionId, String policySetDefinitionName, QueryOptions queryOptions) { + return summarizeForPolicySetDefinitionWithServiceResponseAsync(subscriptionId, policySetDefinitionName, queryOptions).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @param queryOptions Additional parameters for the operation + * @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 summarizeForPolicySetDefinitionAsync(String subscriptionId, String policySetDefinitionName, QueryOptions queryOptions, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForPolicySetDefinitionWithServiceResponseAsync(subscriptionId, policySetDefinitionName, queryOptions), serviceCallback); + } + + /** + * Summarizes policy states for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForPolicySetDefinitionAsync(String subscriptionId, String policySetDefinitionName, QueryOptions queryOptions) { + return summarizeForPolicySetDefinitionWithServiceResponseAsync(subscriptionId, policySetDefinitionName, queryOptions).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the subscription level policy set definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policySetDefinitionName Policy set definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForPolicySetDefinitionWithServiceResponseAsync(String subscriptionId, String policySetDefinitionName, QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policySetDefinitionName == null) { + throw new IllegalArgumentException("Parameter policySetDefinitionName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyStatesSummaryResource = "latest"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.summarizeForPolicySetDefinition(policyStatesSummaryResource, subscriptionId, authorizationNamespace, policySetDefinitionName, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForPolicySetDefinitionDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse summarizeForPolicySetDefinitionDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the subscription level policy definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForPolicyDefinition(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyDefinitionName) { + ServiceResponse> response = listQueryResultsForPolicyDefinitionSinglePageAsync(policyStatesResource, subscriptionId, policyDefinitionName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the subscription level policy definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition 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> listQueryResultsForPolicyDefinitionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyDefinitionName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForPolicyDefinitionSinglePageAsync(policyStatesResource, subscriptionId, policyDefinitionName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the subscription level policy definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForPolicyDefinitionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyDefinitionName) { + return listQueryResultsForPolicyDefinitionWithServiceResponseAsync(policyStatesResource, subscriptionId, policyDefinitionName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the subscription level policy definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForPolicyDefinitionWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyDefinitionName) { + return listQueryResultsForPolicyDefinitionSinglePageAsync(policyStatesResource, subscriptionId, policyDefinitionName) + .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(listQueryResultsForPolicyDefinitionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the subscription level policy definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForPolicyDefinitionSinglePageAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyDefinitionName) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policyDefinitionName == null) { + throw new IllegalArgumentException("Parameter policyDefinitionName is required and cannot be null."); + } + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForPolicyDefinition(policyStatesResource, subscriptionId, authorizationNamespace, policyDefinitionName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForPolicyDefinitionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy states for the subscription level policy definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForPolicyDefinition(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyDefinitionName, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForPolicyDefinitionSinglePageAsync(policyStatesResource, subscriptionId, policyDefinitionName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the subscription level policy definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForPolicyDefinitionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyDefinitionName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForPolicyDefinitionSinglePageAsync(policyStatesResource, subscriptionId, policyDefinitionName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the subscription level policy definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForPolicyDefinitionAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyDefinitionName, final QueryOptions queryOptions) { + return listQueryResultsForPolicyDefinitionWithServiceResponseAsync(policyStatesResource, subscriptionId, policyDefinitionName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the subscription level policy definition. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForPolicyDefinitionWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyDefinitionName, final QueryOptions queryOptions) { + return listQueryResultsForPolicyDefinitionSinglePageAsync(policyStatesResource, subscriptionId, policyDefinitionName, queryOptions) + .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(listQueryResultsForPolicyDefinitionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the subscription level policy definition. + * + ServiceResponse> * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param policyDefinitionName Policy definition name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForPolicyDefinitionSinglePageAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyDefinitionName, final QueryOptions queryOptions) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policyDefinitionName == null) { + throw new IllegalArgumentException("Parameter policyDefinitionName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForPolicyDefinition(policyStatesResource, subscriptionId, authorizationNamespace, policyDefinitionName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForPolicyDefinitionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForPolicyDefinitionDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Summarizes policy states for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForPolicyDefinition(String subscriptionId, String policyDefinitionName) { + return summarizeForPolicyDefinitionWithServiceResponseAsync(subscriptionId, policyDefinitionName).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition 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 summarizeForPolicyDefinitionAsync(String subscriptionId, String policyDefinitionName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForPolicyDefinitionWithServiceResponseAsync(subscriptionId, policyDefinitionName), serviceCallback); + } + + /** + * Summarizes policy states for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForPolicyDefinitionAsync(String subscriptionId, String policyDefinitionName) { + return summarizeForPolicyDefinitionWithServiceResponseAsync(subscriptionId, policyDefinitionName).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForPolicyDefinitionWithServiceResponseAsync(String subscriptionId, String policyDefinitionName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policyDefinitionName == null) { + throw new IllegalArgumentException("Parameter policyDefinitionName is required and cannot be null."); + } + final String policyStatesSummaryResource = "latest"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + DateTime from = null; + DateTime to = null; + String filter = null; + return service.summarizeForPolicyDefinition(policyStatesSummaryResource, subscriptionId, authorizationNamespace, policyDefinitionName, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForPolicyDefinitionDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Summarizes policy states for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForPolicyDefinition(String subscriptionId, String policyDefinitionName, QueryOptions queryOptions) { + return summarizeForPolicyDefinitionWithServiceResponseAsync(subscriptionId, policyDefinitionName, queryOptions).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @param queryOptions Additional parameters for the operation + * @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 summarizeForPolicyDefinitionAsync(String subscriptionId, String policyDefinitionName, QueryOptions queryOptions, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForPolicyDefinitionWithServiceResponseAsync(subscriptionId, policyDefinitionName, queryOptions), serviceCallback); + } + + /** + * Summarizes policy states for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForPolicyDefinitionAsync(String subscriptionId, String policyDefinitionName, QueryOptions queryOptions) { + return summarizeForPolicyDefinitionWithServiceResponseAsync(subscriptionId, policyDefinitionName, queryOptions).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the subscription level policy definition. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyDefinitionName Policy definition name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForPolicyDefinitionWithServiceResponseAsync(String subscriptionId, String policyDefinitionName, QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policyDefinitionName == null) { + throw new IllegalArgumentException("Parameter policyDefinitionName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyStatesSummaryResource = "latest"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.summarizeForPolicyDefinition(policyStatesSummaryResource, subscriptionId, authorizationNamespace, policyDefinitionName, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForPolicyDefinitionDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse summarizeForPolicyDefinitionDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the subscription level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForSubscriptionLevelPolicyAssignment(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyAssignmentName) { + ServiceResponse> response = listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(policyStatesResource, subscriptionId, policyAssignmentName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the subscription level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment 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> listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyAssignmentName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(policyStatesResource, subscriptionId, policyAssignmentName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the subscription level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyAssignmentName) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(policyStatesResource, subscriptionId, policyAssignmentName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the subscription level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyAssignmentName) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(policyStatesResource, subscriptionId, policyAssignmentName) + .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(listQueryResultsForSubscriptionLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the subscription level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyAssignmentName) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policyAssignmentName == null) { + throw new IllegalArgumentException("Parameter policyAssignmentName is required and cannot be null."); + } + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForSubscriptionLevelPolicyAssignment(policyStatesResource, subscriptionId, authorizationNamespace, policyAssignmentName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionLevelPolicyAssignmentDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy states for the subscription level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForSubscriptionLevelPolicyAssignment(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyAssignmentName, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(policyStatesResource, subscriptionId, policyAssignmentName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the subscription level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyAssignmentName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(policyStatesResource, subscriptionId, policyAssignmentName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the subscription level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForSubscriptionLevelPolicyAssignmentAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyAssignmentName, final QueryOptions queryOptions) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(policyStatesResource, subscriptionId, policyAssignmentName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the subscription level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyAssignmentName, final QueryOptions queryOptions) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(policyStatesResource, subscriptionId, policyAssignmentName, queryOptions) + .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(listQueryResultsForSubscriptionLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the subscription level policy assignment. + * + ServiceResponse> * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param policyAssignmentName Policy assignment name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionLevelPolicyAssignmentSinglePageAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String policyAssignmentName, final QueryOptions queryOptions) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policyAssignmentName == null) { + throw new IllegalArgumentException("Parameter policyAssignmentName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForSubscriptionLevelPolicyAssignment(policyStatesResource, subscriptionId, authorizationNamespace, policyAssignmentName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionLevelPolicyAssignmentDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForSubscriptionLevelPolicyAssignmentDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Summarizes policy states for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForSubscriptionLevelPolicyAssignment(String subscriptionId, String policyAssignmentName) { + return summarizeForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, policyAssignmentName).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment 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 summarizeForSubscriptionLevelPolicyAssignmentAsync(String subscriptionId, String policyAssignmentName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, policyAssignmentName), serviceCallback); + } + + /** + * Summarizes policy states for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForSubscriptionLevelPolicyAssignmentAsync(String subscriptionId, String policyAssignmentName) { + return summarizeForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, policyAssignmentName).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(String subscriptionId, String policyAssignmentName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policyAssignmentName == null) { + throw new IllegalArgumentException("Parameter policyAssignmentName is required and cannot be null."); + } + final String policyStatesSummaryResource = "latest"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + DateTime from = null; + DateTime to = null; + String filter = null; + return service.summarizeForSubscriptionLevelPolicyAssignment(policyStatesSummaryResource, subscriptionId, authorizationNamespace, policyAssignmentName, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForSubscriptionLevelPolicyAssignmentDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Summarizes policy states for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForSubscriptionLevelPolicyAssignment(String subscriptionId, String policyAssignmentName, QueryOptions queryOptions) { + return summarizeForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, policyAssignmentName, queryOptions).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @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 summarizeForSubscriptionLevelPolicyAssignmentAsync(String subscriptionId, String policyAssignmentName, QueryOptions queryOptions, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, policyAssignmentName, queryOptions), serviceCallback); + } + + /** + * Summarizes policy states for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForSubscriptionLevelPolicyAssignmentAsync(String subscriptionId, String policyAssignmentName, QueryOptions queryOptions) { + return summarizeForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, policyAssignmentName, queryOptions).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the subscription level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForSubscriptionLevelPolicyAssignmentWithServiceResponseAsync(String subscriptionId, String policyAssignmentName, QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (policyAssignmentName == null) { + throw new IllegalArgumentException("Parameter policyAssignmentName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyStatesSummaryResource = "latest"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.summarizeForSubscriptionLevelPolicyAssignment(policyStatesSummaryResource, subscriptionId, authorizationNamespace, policyAssignmentName, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForSubscriptionLevelPolicyAssignmentDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse summarizeForSubscriptionLevelPolicyAssignmentDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the resource group level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroupLevelPolicyAssignment(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final String policyAssignmentName) { + ServiceResponse> response = listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(policyStatesResource, subscriptionId, resourceGroupName, policyAssignmentName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resource group level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment 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> listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final String policyAssignmentName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(policyStatesResource, subscriptionId, resourceGroupName, policyAssignmentName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resource group level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final String policyAssignmentName) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(policyStatesResource, subscriptionId, resourceGroupName, policyAssignmentName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resource group level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final String policyAssignmentName) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(policyStatesResource, subscriptionId, resourceGroupName, policyAssignmentName) + .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(listQueryResultsForResourceGroupLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resource group level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final String policyAssignmentName) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (policyAssignmentName == null) { + throw new IllegalArgumentException("Parameter policyAssignmentName is required and cannot be null."); + } + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String orderBy = null; + String select = null; + DateTime from = null; + DateTime to = null; + String filter = null; + String apply = null; + String skipToken = null; + return service.listQueryResultsForResourceGroupLevelPolicyAssignment(policyStatesResource, subscriptionId, resourceGroupName, authorizationNamespace, policyAssignmentName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupLevelPolicyAssignmentDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy states for the resource group level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroupLevelPolicyAssignment(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final String policyAssignmentName, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(policyStatesResource, subscriptionId, resourceGroupName, policyAssignmentName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resource group level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final String policyAssignmentName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(policyStatesResource, subscriptionId, resourceGroupName, policyAssignmentName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resource group level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable> listQueryResultsForResourceGroupLevelPolicyAssignmentAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final String policyAssignmentName, final QueryOptions queryOptions) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(policyStatesResource, subscriptionId, resourceGroupName, policyAssignmentName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resource group level policy assignment. + * + * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyStateInner> object + */ + public Observable>> listQueryResultsForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final String policyAssignmentName, final QueryOptions queryOptions) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(policyStatesResource, subscriptionId, resourceGroupName, policyAssignmentName, queryOptions) + .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(listQueryResultsForResourceGroupLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resource group level policy assignment. + * + ServiceResponse> * @param policyStatesResource The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). Possible values include: 'default', 'latest' + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param resourceGroupName Resource group name. + ServiceResponse> * @param policyAssignmentName Policy assignment name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupLevelPolicyAssignmentSinglePageAsync(final PolicyStatesResource policyStatesResource, final String subscriptionId, final String resourceGroupName, final String policyAssignmentName, final QueryOptions queryOptions) { + if (policyStatesResource == null) { + throw new IllegalArgumentException("Parameter policyStatesResource is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (policyAssignmentName == null) { + throw new IllegalArgumentException("Parameter policyAssignmentName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String orderBy = null; + if (queryOptions != null) { + orderBy = queryOptions.orderBy(); + } + String select = null; + if (queryOptions != null) { + select = queryOptions.select(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + String apply = null; + if (queryOptions != null) { + apply = queryOptions.apply(); + } + String skipToken = null; + if (queryOptions != null) { + skipToken = queryOptions.skipToken(); + } + return service.listQueryResultsForResourceGroupLevelPolicyAssignment(policyStatesResource, subscriptionId, resourceGroupName, authorizationNamespace, policyAssignmentName, apiVersion, this.client.acceptLanguage(), top, orderBy, select, from, to, filter, apply, skipToken, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupLevelPolicyAssignmentDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceGroupLevelPolicyAssignmentDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Summarizes policy states for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForResourceGroupLevelPolicyAssignment(String subscriptionId, String resourceGroupName, String policyAssignmentName) { + return summarizeForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, resourceGroupName, policyAssignmentName).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment 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 summarizeForResourceGroupLevelPolicyAssignmentAsync(String subscriptionId, String resourceGroupName, String policyAssignmentName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, resourceGroupName, policyAssignmentName), serviceCallback); + } + + /** + * Summarizes policy states for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForResourceGroupLevelPolicyAssignmentAsync(String subscriptionId, String resourceGroupName, String policyAssignmentName) { + return summarizeForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, resourceGroupName, policyAssignmentName).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(String subscriptionId, String resourceGroupName, String policyAssignmentName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (policyAssignmentName == null) { + throw new IllegalArgumentException("Parameter policyAssignmentName is required and cannot be null."); + } + final String policyStatesSummaryResource = "latest"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + final QueryOptions queryOptions = null; + Integer top = null; + DateTime from = null; + DateTime to = null; + String filter = null; + return service.summarizeForResourceGroupLevelPolicyAssignment(policyStatesSummaryResource, subscriptionId, resourceGroupName, authorizationNamespace, policyAssignmentName, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForResourceGroupLevelPolicyAssignmentDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Summarizes policy states for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException thrown if the request is rejected by server + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent + * @return the SummarizeResultsInner object if successful. + */ + public SummarizeResultsInner summarizeForResourceGroupLevelPolicyAssignment(String subscriptionId, String resourceGroupName, String policyAssignmentName, QueryOptions queryOptions) { + return summarizeForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, resourceGroupName, policyAssignmentName, queryOptions).toBlocking().single().body(); + } + + /** + * Summarizes policy states for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @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 summarizeForResourceGroupLevelPolicyAssignmentAsync(String subscriptionId, String resourceGroupName, String policyAssignmentName, QueryOptions queryOptions, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(summarizeForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, resourceGroupName, policyAssignmentName, queryOptions), serviceCallback); + } + + /** + * Summarizes policy states for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable summarizeForResourceGroupLevelPolicyAssignmentAsync(String subscriptionId, String resourceGroupName, String policyAssignmentName, QueryOptions queryOptions) { + return summarizeForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(subscriptionId, resourceGroupName, policyAssignmentName, queryOptions).map(new Func1, SummarizeResultsInner>() { + @Override + public SummarizeResultsInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Summarizes policy states for the resource group level policy assignment. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param policyAssignmentName Policy assignment name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the SummarizeResultsInner object + */ + public Observable> summarizeForResourceGroupLevelPolicyAssignmentWithServiceResponseAsync(String subscriptionId, String resourceGroupName, String policyAssignmentName, QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (policyAssignmentName == null) { + throw new IllegalArgumentException("Parameter policyAssignmentName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyStatesSummaryResource = "latest"; + final String authorizationNamespace = "Microsoft.Authorization"; + final String apiVersion = "2019-10-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + DateTime from = null; + if (queryOptions != null) { + from = queryOptions.from(); + } + DateTime to = null; + if (queryOptions != null) { + to = queryOptions.to(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.summarizeForResourceGroupLevelPolicyAssignment(policyStatesSummaryResource, subscriptionId, resourceGroupName, authorizationNamespace, policyAssignmentName, apiVersion, this.client.acceptLanguage(), top, from, to, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = summarizeForResourceGroupLevelPolicyAssignmentDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse summarizeForResourceGroupLevelPolicyAssignmentDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the resources under the management group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForManagementGroupNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resources under the management 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> listQueryResultsForManagementGroupNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resources under the management 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<PolicyStateInner> object + */ + public Observable> listQueryResultsForManagementGroupNextAsync(final String nextPageLink) { + return listQueryResultsForManagementGroupNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resources under the management 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<PolicyStateInner> object + */ + public Observable>> listQueryResultsForManagementGroupNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(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(listQueryResultsForManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resources under the management 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<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForManagementGroupNextSinglePageAsync(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.listQueryResultsForManagementGroupNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForManagementGroupNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForManagementGroupNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the resources under the subscription. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForSubscriptionNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resources under the 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> listQueryResultsForSubscriptionNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resources under the 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<PolicyStateInner> object + */ + public Observable> listQueryResultsForSubscriptionNextAsync(final String nextPageLink) { + return listQueryResultsForSubscriptionNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resources under the 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<PolicyStateInner> object + */ + public Observable>> listQueryResultsForSubscriptionNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(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(listQueryResultsForSubscriptionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resources under the 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<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionNextSinglePageAsync(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.listQueryResultsForSubscriptionNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForSubscriptionNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the resources under the resource group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroupNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resources under the 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> listQueryResultsForResourceGroupNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resources under the 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<PolicyStateInner> object + */ + public Observable> listQueryResultsForResourceGroupNextAsync(final String nextPageLink) { + return listQueryResultsForResourceGroupNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resources under the 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<PolicyStateInner> object + */ + public Observable>> listQueryResultsForResourceGroupNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(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(listQueryResultsForResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resources under the 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<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupNextSinglePageAsync(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.listQueryResultsForResourceGroupNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceGroupNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the resource. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForResourceNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForResourceNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resource. + * + * @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> listQueryResultsForResourceNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resource. + * + * @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<PolicyStateInner> object + */ + public Observable> listQueryResultsForResourceNextAsync(final String nextPageLink) { + return listQueryResultsForResourceNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resource. + * + * @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<PolicyStateInner> object + */ + public Observable>> listQueryResultsForResourceNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(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(listQueryResultsForResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resource. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceNextSinglePageAsync(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.listQueryResultsForResourceNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the subscription level policy set definition. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForPolicySetDefinitionNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the subscription level policy set definition. + * + * @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> listQueryResultsForPolicySetDefinitionNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the subscription level policy set definition. + * + * @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<PolicyStateInner> object + */ + public Observable> listQueryResultsForPolicySetDefinitionNextAsync(final String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the subscription level policy set definition. + * + * @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<PolicyStateInner> object + */ + public Observable>> listQueryResultsForPolicySetDefinitionNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForPolicySetDefinitionNextSinglePageAsync(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(listQueryResultsForPolicySetDefinitionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the subscription level policy set definition. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForPolicySetDefinitionNextSinglePageAsync(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.listQueryResultsForPolicySetDefinitionNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForPolicySetDefinitionNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForPolicySetDefinitionNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the subscription level policy definition. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForPolicyDefinitionNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the subscription level policy definition. + * + * @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> listQueryResultsForPolicyDefinitionNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the subscription level policy definition. + * + * @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<PolicyStateInner> object + */ + public Observable> listQueryResultsForPolicyDefinitionNextAsync(final String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the subscription level policy definition. + * + * @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<PolicyStateInner> object + */ + public Observable>> listQueryResultsForPolicyDefinitionNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForPolicyDefinitionNextSinglePageAsync(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(listQueryResultsForPolicyDefinitionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the subscription level policy definition. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForPolicyDefinitionNextSinglePageAsync(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.listQueryResultsForPolicyDefinitionNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForPolicyDefinitionNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForPolicyDefinitionNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the subscription level policy assignment. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForSubscriptionLevelPolicyAssignmentNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the subscription level policy assignment. + * + * @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> listQueryResultsForSubscriptionLevelPolicyAssignmentNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the subscription level policy assignment. + * + * @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<PolicyStateInner> object + */ + public Observable> listQueryResultsForSubscriptionLevelPolicyAssignmentNextAsync(final String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the subscription level policy assignment. + * + * @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<PolicyStateInner> object + */ + public Observable>> listQueryResultsForSubscriptionLevelPolicyAssignmentNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(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(listQueryResultsForSubscriptionLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the subscription level policy assignment. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionLevelPolicyAssignmentNextSinglePageAsync(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.listQueryResultsForSubscriptionLevelPolicyAssignmentNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionLevelPolicyAssignmentNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForSubscriptionLevelPolicyAssignmentNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy states for the resource group level policy assignment. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyStateInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroupLevelPolicyAssignmentNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy states for the resource group level policy assignment. + * + * @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> listQueryResultsForResourceGroupLevelPolicyAssignmentNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy states for the resource group level policy assignment. + * + * @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<PolicyStateInner> object + */ + public Observable> listQueryResultsForResourceGroupLevelPolicyAssignmentNextAsync(final String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy states for the resource group level policy assignment. + * + * @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<PolicyStateInner> object + */ + public Observable>> listQueryResultsForResourceGroupLevelPolicyAssignmentNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(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(listQueryResultsForResourceGroupLevelPolicyAssignmentNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy states for the resource group level policy assignment. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyStateInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupLevelPolicyAssignmentNextSinglePageAsync(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.listQueryResultsForResourceGroupLevelPolicyAssignmentNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupLevelPolicyAssignmentNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceGroupLevelPolicyAssignmentNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyTrackedResourceImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyTrackedResourceImpl.java new file mode 100644 index 000000000000..589f076643e1 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyTrackedResourceImpl.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.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyTrackedResource; +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import com.microsoft.azure.management.policyinsights.v2020_07_01.TrackedResourceModificationDetails; +import org.joda.time.DateTime; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyDetails; + +class PolicyTrackedResourceImpl extends WrapperImpl implements PolicyTrackedResource { + private final PolicyInsightsManager manager; + PolicyTrackedResourceImpl(PolicyTrackedResourceInner inner, PolicyInsightsManager manager) { + super(inner); + this.manager = manager; + } + + @Override + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public TrackedResourceModificationDetails createdBy() { + return this.inner().createdBy(); + } + + @Override + public TrackedResourceModificationDetails lastModifiedBy() { + return this.inner().lastModifiedBy(); + } + + @Override + public DateTime lastUpdateUtc() { + return this.inner().lastUpdateUtc(); + } + + @Override + public PolicyDetails policyDetails() { + return this.inner().policyDetails(); + } + + @Override + public String trackedResourceId() { + return this.inner().trackedResourceId(); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyTrackedResourceInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyTrackedResourceInner.java new file mode 100644 index 000000000000..38fd40ef30a7 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyTrackedResourceInner.java @@ -0,0 +1,97 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyDetails; +import com.microsoft.azure.management.policyinsights.v2020_07_01.TrackedResourceModificationDetails; +import org.joda.time.DateTime; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Policy tracked resource record. + */ +public class PolicyTrackedResourceInner { + /** + * The ID of the policy tracked resource. + */ + @JsonProperty(value = "trackedResourceId", access = JsonProperty.Access.WRITE_ONLY) + private String trackedResourceId; + + /** + * The details of the policy that require the tracked resource. + */ + @JsonProperty(value = "policyDetails", access = JsonProperty.Access.WRITE_ONLY) + private PolicyDetails policyDetails; + + /** + * The details of the policy triggered deployment that created the tracked + * resource. + */ + @JsonProperty(value = "createdBy", access = JsonProperty.Access.WRITE_ONLY) + private TrackedResourceModificationDetails createdBy; + + /** + * The details of the policy triggered deployment that modified the tracked + * resource. + */ + @JsonProperty(value = "lastModifiedBy", access = JsonProperty.Access.WRITE_ONLY) + private TrackedResourceModificationDetails lastModifiedBy; + + /** + * Timestamp of the last update to the tracked resource. + */ + @JsonProperty(value = "lastUpdateUtc", access = JsonProperty.Access.WRITE_ONLY) + private DateTime lastUpdateUtc; + + /** + * Get the ID of the policy tracked resource. + * + * @return the trackedResourceId value + */ + public String trackedResourceId() { + return this.trackedResourceId; + } + + /** + * Get the details of the policy that require the tracked resource. + * + * @return the policyDetails value + */ + public PolicyDetails policyDetails() { + return this.policyDetails; + } + + /** + * Get the details of the policy triggered deployment that created the tracked resource. + * + * @return the createdBy value + */ + public TrackedResourceModificationDetails createdBy() { + return this.createdBy; + } + + /** + * Get the details of the policy triggered deployment that modified the tracked resource. + * + * @return the lastModifiedBy value + */ + public TrackedResourceModificationDetails lastModifiedBy() { + return this.lastModifiedBy; + } + + /** + * Get timestamp of the last update to the tracked resource. + * + * @return the lastUpdateUtc value + */ + public DateTime lastUpdateUtc() { + return this.lastUpdateUtc; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyTrackedResourcesImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyTrackedResourcesImpl.java new file mode 100644 index 000000000000..a5a95363537d --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyTrackedResourcesImpl.java @@ -0,0 +1,103 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * abc + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyTrackedResources; +import rx.functions.Func1; +import rx.Observable; +import com.microsoft.azure.Page; +import com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyTrackedResource; + +class PolicyTrackedResourcesImpl extends WrapperImpl implements PolicyTrackedResources { + private final PolicyInsightsManager manager; + + PolicyTrackedResourcesImpl(PolicyInsightsManager manager) { + super(manager.inner().policyTrackedResources()); + this.manager = manager; + } + + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public Observable listQueryResultsForManagementGroupAsync(final String managementGroupName) { + PolicyTrackedResourcesInner client = this.inner(); + return client.listQueryResultsForManagementGroupAsync(managementGroupName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyTrackedResource call(PolicyTrackedResourceInner inner) { + return new PolicyTrackedResourceImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForSubscriptionAsync(final String subscriptionId) { + PolicyTrackedResourcesInner client = this.inner(); + return client.listQueryResultsForSubscriptionAsync(subscriptionId) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyTrackedResource call(PolicyTrackedResourceInner inner) { + return new PolicyTrackedResourceImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForResourceGroupAsync(final String resourceGroupName, final String subscriptionId) { + PolicyTrackedResourcesInner client = this.inner(); + return client.listQueryResultsForResourceGroupAsync(resourceGroupName, subscriptionId) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyTrackedResource call(PolicyTrackedResourceInner inner) { + return new PolicyTrackedResourceImpl(inner, manager()); + } + }); + } + + @Override + public Observable listQueryResultsForResourceAsync(final String resourceId) { + PolicyTrackedResourcesInner client = this.inner(); + return client.listQueryResultsForResourceAsync(resourceId) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public PolicyTrackedResource call(PolicyTrackedResourceInner inner) { + return new PolicyTrackedResourceImpl(inner, manager()); + } + }); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyTrackedResourcesInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyTrackedResourcesInner.java new file mode 100644 index 000000000000..90857a6d36da --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/PolicyTrackedResourcesInner.java @@ -0,0 +1,1486 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import retrofit2.Retrofit; +import com.google.common.reflect.TypeToken; +import com.microsoft.azure.AzureServiceFuture; +import com.microsoft.azure.ListOperationCallback; +import com.microsoft.azure.management.policyinsights.v2020_07_01.QueryFailureException; +import com.microsoft.azure.management.policyinsights.v2020_07_01.QueryOptions; +import com.microsoft.azure.Page; +import com.microsoft.azure.PagedList; +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.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.Path; +import retrofit2.http.POST; +import retrofit2.http.Query; +import retrofit2.http.Url; +import retrofit2.Response; +import rx.functions.Func1; +import rx.Observable; + +/** + * An instance of this class provides access to all the operations defined + * in PolicyTrackedResources. + */ +public class PolicyTrackedResourcesInner { + /** The Retrofit service to perform REST calls. */ + private PolicyTrackedResourcesService service; + /** The service client containing this operation class. */ + private PolicyInsightsClientImpl client; + + /** + * Initializes an instance of PolicyTrackedResourcesInner. + * + * @param retrofit the Retrofit instance built from a Retrofit Builder. + * @param client the instance of the service client containing this operation class. + */ + public PolicyTrackedResourcesInner(Retrofit retrofit, PolicyInsightsClientImpl client) { + this.service = retrofit.create(PolicyTrackedResourcesService.class); + this.client = client; + } + + /** + * The interface defining all the services for PolicyTrackedResources to be + * used by Retrofit to perform actually REST calls. + */ + interface PolicyTrackedResourcesService { + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyTrackedResources listQueryResultsForManagementGroup" }) + @POST("providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyTrackedResources/{policyTrackedResourcesResource}/queryResults") + Observable> listQueryResultsForManagementGroup(@Path("managementGroupsNamespace") String managementGroupsNamespace, @Path("managementGroupName") String managementGroupName, @Path("policyTrackedResourcesResource") String policyTrackedResourcesResource, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyTrackedResources listQueryResultsForSubscription" }) + @POST("subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyTrackedResources/{policyTrackedResourcesResource}/queryResults") + Observable> listQueryResultsForSubscription(@Path("policyTrackedResourcesResource") String policyTrackedResourcesResource, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyTrackedResources listQueryResultsForResourceGroup" }) + @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyTrackedResources/{policyTrackedResourcesResource}/queryResults") + Observable> listQueryResultsForResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("policyTrackedResourcesResource") String policyTrackedResourcesResource, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyTrackedResources listQueryResultsForResource" }) + @POST("{resourceId}/providers/Microsoft.PolicyInsights/policyTrackedResources/{policyTrackedResourcesResource}/queryResults") + Observable> listQueryResultsForResource(@Path(value = "resourceId", encoded = true) String resourceId, @Path("policyTrackedResourcesResource") String policyTrackedResourcesResource, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.PolicyTrackedResources listQueryResultsForManagementGroupNext" }) + @GET + Observable> listQueryResultsForManagementGroupNext(@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.policyinsights.v2020_07_01.PolicyTrackedResources listQueryResultsForSubscriptionNext" }) + @GET + Observable> listQueryResultsForSubscriptionNext(@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.policyinsights.v2020_07_01.PolicyTrackedResources listQueryResultsForResourceGroupNext" }) + @GET + Observable> listQueryResultsForResourceGroupNext(@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.policyinsights.v2020_07_01.PolicyTrackedResources listQueryResultsForResourceNext" }) + @GET + Observable> listQueryResultsForResourceNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent); + + } + + /** + * Queries policy tracked resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyTrackedResourceInner> object if successful. + */ + public PagedList listQueryResultsForManagementGroup(final String managementGroupName) { + ServiceResponse> response = listQueryResultsForManagementGroupSinglePageAsync(managementGroupName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy tracked resources under the management group. + * + * @param managementGroupName Management group 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> listQueryResultsForManagementGroupAsync(final String managementGroupName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForManagementGroupSinglePageAsync(managementGroupName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy tracked resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable> listQueryResultsForManagementGroupAsync(final String managementGroupName) { + return listQueryResultsForManagementGroupWithServiceResponseAsync(managementGroupName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy tracked resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable>> listQueryResultsForManagementGroupWithServiceResponseAsync(final String managementGroupName) { + return listQueryResultsForManagementGroupSinglePageAsync(managementGroupName) + .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(listQueryResultsForManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy tracked resources under the management group. + * + * @param managementGroupName Management group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyTrackedResourceInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForManagementGroupSinglePageAsync(final String managementGroupName) { + if (managementGroupName == null) { + throw new IllegalArgumentException("Parameter managementGroupName is required and cannot be null."); + } + final String managementGroupsNamespace = "Microsoft.Management"; + final String policyTrackedResourcesResource = "default"; + final String apiVersion = "2018-07-01-preview"; + final QueryOptions queryOptions = null; + Integer top = null; + String filter = null; + return service.listQueryResultsForManagementGroup(managementGroupsNamespace, managementGroupName, policyTrackedResourcesResource, apiVersion, this.client.acceptLanguage(), top, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForManagementGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy tracked resources under the management group. + * + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyTrackedResourceInner> object if successful. + */ + public PagedList listQueryResultsForManagementGroup(final String managementGroupName, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForManagementGroupSinglePageAsync(managementGroupName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy tracked resources under the management group. + * + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForManagementGroupAsync(final String managementGroupName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForManagementGroupSinglePageAsync(managementGroupName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy tracked resources under the management group. + * + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable> listQueryResultsForManagementGroupAsync(final String managementGroupName, final QueryOptions queryOptions) { + return listQueryResultsForManagementGroupWithServiceResponseAsync(managementGroupName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy tracked resources under the management group. + * + * @param managementGroupName Management group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable>> listQueryResultsForManagementGroupWithServiceResponseAsync(final String managementGroupName, final QueryOptions queryOptions) { + return listQueryResultsForManagementGroupSinglePageAsync(managementGroupName, queryOptions) + .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(listQueryResultsForManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy tracked resources under the management group. + * + ServiceResponse> * @param managementGroupName Management group name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyTrackedResourceInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForManagementGroupSinglePageAsync(final String managementGroupName, final QueryOptions queryOptions) { + if (managementGroupName == null) { + throw new IllegalArgumentException("Parameter managementGroupName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String managementGroupsNamespace = "Microsoft.Management"; + final String policyTrackedResourcesResource = "default"; + final String apiVersion = "2018-07-01-preview"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.listQueryResultsForManagementGroup(managementGroupsNamespace, managementGroupName, policyTrackedResourcesResource, apiVersion, this.client.acceptLanguage(), top, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForManagementGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForManagementGroupDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy tracked resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyTrackedResourceInner> object if successful. + */ + public PagedList listQueryResultsForSubscription(final String subscriptionId) { + ServiceResponse> response = listQueryResultsForSubscriptionSinglePageAsync(subscriptionId).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy tracked resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @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> listQueryResultsForSubscriptionAsync(final String subscriptionId, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionSinglePageAsync(subscriptionId), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy tracked resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable> listQueryResultsForSubscriptionAsync(final String subscriptionId) { + return listQueryResultsForSubscriptionWithServiceResponseAsync(subscriptionId) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy tracked resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable>> listQueryResultsForSubscriptionWithServiceResponseAsync(final String subscriptionId) { + return listQueryResultsForSubscriptionSinglePageAsync(subscriptionId) + .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(listQueryResultsForSubscriptionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy tracked resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyTrackedResourceInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionSinglePageAsync(final String subscriptionId) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + final String policyTrackedResourcesResource = "default"; + final String apiVersion = "2018-07-01-preview"; + final QueryOptions queryOptions = null; + Integer top = null; + String filter = null; + return service.listQueryResultsForSubscription(policyTrackedResourcesResource, subscriptionId, apiVersion, this.client.acceptLanguage(), top, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy tracked resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyTrackedResourceInner> object if successful. + */ + public PagedList listQueryResultsForSubscription(final String subscriptionId, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForSubscriptionSinglePageAsync(subscriptionId, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy tracked resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForSubscriptionAsync(final String subscriptionId, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionSinglePageAsync(subscriptionId, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy tracked resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable> listQueryResultsForSubscriptionAsync(final String subscriptionId, final QueryOptions queryOptions) { + return listQueryResultsForSubscriptionWithServiceResponseAsync(subscriptionId, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy tracked resources under the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable>> listQueryResultsForSubscriptionWithServiceResponseAsync(final String subscriptionId, final QueryOptions queryOptions) { + return listQueryResultsForSubscriptionSinglePageAsync(subscriptionId, queryOptions) + .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(listQueryResultsForSubscriptionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy tracked resources under the subscription. + * + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyTrackedResourceInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionSinglePageAsync(final String subscriptionId, final QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyTrackedResourcesResource = "default"; + final String apiVersion = "2018-07-01-preview"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.listQueryResultsForSubscription(policyTrackedResourcesResource, subscriptionId, apiVersion, this.client.acceptLanguage(), top, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForSubscriptionDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy tracked resources under the resource group. + * + * @param resourceGroupName Resource group name. + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyTrackedResourceInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroup(final String resourceGroupName, final String subscriptionId) { + ServiceResponse> response = listQueryResultsForResourceGroupSinglePageAsync(resourceGroupName, subscriptionId).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy tracked resources under the resource group. + * + * @param resourceGroupName Resource group name. + * @param subscriptionId Microsoft Azure subscription ID. + * @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> listQueryResultsForResourceGroupAsync(final String resourceGroupName, final String subscriptionId, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupSinglePageAsync(resourceGroupName, subscriptionId), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy tracked resources under the resource group. + * + * @param resourceGroupName Resource group name. + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable> listQueryResultsForResourceGroupAsync(final String resourceGroupName, final String subscriptionId) { + return listQueryResultsForResourceGroupWithServiceResponseAsync(resourceGroupName, subscriptionId) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy tracked resources under the resource group. + * + * @param resourceGroupName Resource group name. + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable>> listQueryResultsForResourceGroupWithServiceResponseAsync(final String resourceGroupName, final String subscriptionId) { + return listQueryResultsForResourceGroupSinglePageAsync(resourceGroupName, subscriptionId) + .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(listQueryResultsForResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy tracked resources under the resource group. + * + * @param resourceGroupName Resource group name. + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyTrackedResourceInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupSinglePageAsync(final String resourceGroupName, final String subscriptionId) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + final String policyTrackedResourcesResource = "default"; + final String apiVersion = "2018-07-01-preview"; + final QueryOptions queryOptions = null; + Integer top = null; + String filter = null; + return service.listQueryResultsForResourceGroup(resourceGroupName, policyTrackedResourcesResource, subscriptionId, apiVersion, this.client.acceptLanguage(), top, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy tracked resources under the resource group. + * + * @param resourceGroupName Resource group name. + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyTrackedResourceInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroup(final String resourceGroupName, final String subscriptionId, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForResourceGroupSinglePageAsync(resourceGroupName, subscriptionId, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy tracked resources under the resource group. + * + * @param resourceGroupName Resource group name. + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForResourceGroupAsync(final String resourceGroupName, final String subscriptionId, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupSinglePageAsync(resourceGroupName, subscriptionId, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy tracked resources under the resource group. + * + * @param resourceGroupName Resource group name. + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable> listQueryResultsForResourceGroupAsync(final String resourceGroupName, final String subscriptionId, final QueryOptions queryOptions) { + return listQueryResultsForResourceGroupWithServiceResponseAsync(resourceGroupName, subscriptionId, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy tracked resources under the resource group. + * + * @param resourceGroupName Resource group name. + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable>> listQueryResultsForResourceGroupWithServiceResponseAsync(final String resourceGroupName, final String subscriptionId, final QueryOptions queryOptions) { + return listQueryResultsForResourceGroupSinglePageAsync(resourceGroupName, subscriptionId, queryOptions) + .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(listQueryResultsForResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy tracked resources under the resource group. + * + ServiceResponse> * @param resourceGroupName Resource group name. + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyTrackedResourceInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupSinglePageAsync(final String resourceGroupName, final String subscriptionId, final QueryOptions queryOptions) { + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyTrackedResourcesResource = "default"; + final String apiVersion = "2018-07-01-preview"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.listQueryResultsForResourceGroup(resourceGroupName, policyTrackedResourcesResource, subscriptionId, apiVersion, this.client.acceptLanguage(), top, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceGroupDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy tracked resources under the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyTrackedResourceInner> object if successful. + */ + public PagedList listQueryResultsForResource(final String resourceId) { + ServiceResponse> response = listQueryResultsForResourceSinglePageAsync(resourceId).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy tracked resources under the resource. + * + * @param resourceId Resource ID. + * @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> listQueryResultsForResourceAsync(final String resourceId, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceSinglePageAsync(resourceId), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy tracked resources under the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable> listQueryResultsForResourceAsync(final String resourceId) { + return listQueryResultsForResourceWithServiceResponseAsync(resourceId) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy tracked resources under the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable>> listQueryResultsForResourceWithServiceResponseAsync(final String resourceId) { + return listQueryResultsForResourceSinglePageAsync(resourceId) + .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(listQueryResultsForResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy tracked resources under the resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyTrackedResourceInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceSinglePageAsync(final String resourceId) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + final String policyTrackedResourcesResource = "default"; + final String apiVersion = "2018-07-01-preview"; + final QueryOptions queryOptions = null; + Integer top = null; + String filter = null; + return service.listQueryResultsForResource(resourceId, policyTrackedResourcesResource, apiVersion, this.client.acceptLanguage(), top, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Queries policy tracked resources under the resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyTrackedResourceInner> object if successful. + */ + public PagedList listQueryResultsForResource(final String resourceId, final QueryOptions queryOptions) { + ServiceResponse> response = listQueryResultsForResourceSinglePageAsync(resourceId, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy tracked resources under the resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @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> listQueryResultsForResourceAsync(final String resourceId, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceSinglePageAsync(resourceId, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy tracked resources under the resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable> listQueryResultsForResourceAsync(final String resourceId, final QueryOptions queryOptions) { + return listQueryResultsForResourceWithServiceResponseAsync(resourceId, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy tracked resources under the resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<PolicyTrackedResourceInner> object + */ + public Observable>> listQueryResultsForResourceWithServiceResponseAsync(final String resourceId, final QueryOptions queryOptions) { + return listQueryResultsForResourceSinglePageAsync(resourceId, queryOptions) + .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(listQueryResultsForResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy tracked resources under the resource. + * + ServiceResponse> * @param resourceId Resource ID. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyTrackedResourceInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceSinglePageAsync(final String resourceId, final QueryOptions queryOptions) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + Validator.validate(queryOptions); + final String policyTrackedResourcesResource = "default"; + final String apiVersion = "2018-07-01-preview"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.listQueryResultsForResource(resourceId, policyTrackedResourcesResource, apiVersion, this.client.acceptLanguage(), top, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy tracked resources under the management group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyTrackedResourceInner> object if successful. + */ + public PagedList listQueryResultsForManagementGroupNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy tracked resources under the management 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> listQueryResultsForManagementGroupNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy tracked resources under the management 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<PolicyTrackedResourceInner> object + */ + public Observable> listQueryResultsForManagementGroupNextAsync(final String nextPageLink) { + return listQueryResultsForManagementGroupNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy tracked resources under the management 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<PolicyTrackedResourceInner> object + */ + public Observable>> listQueryResultsForManagementGroupNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForManagementGroupNextSinglePageAsync(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(listQueryResultsForManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy tracked resources under the management 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<PolicyTrackedResourceInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForManagementGroupNextSinglePageAsync(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.listQueryResultsForManagementGroupNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForManagementGroupNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForManagementGroupNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy tracked resources under the subscription. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyTrackedResourceInner> object if successful. + */ + public PagedList listQueryResultsForSubscriptionNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy tracked resources under the 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> listQueryResultsForSubscriptionNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy tracked resources under the 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<PolicyTrackedResourceInner> object + */ + public Observable> listQueryResultsForSubscriptionNextAsync(final String nextPageLink) { + return listQueryResultsForSubscriptionNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy tracked resources under the 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<PolicyTrackedResourceInner> object + */ + public Observable>> listQueryResultsForSubscriptionNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForSubscriptionNextSinglePageAsync(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(listQueryResultsForSubscriptionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy tracked resources under the 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<PolicyTrackedResourceInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForSubscriptionNextSinglePageAsync(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.listQueryResultsForSubscriptionNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForSubscriptionNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForSubscriptionNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy tracked resources under the resource group. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyTrackedResourceInner> object if successful. + */ + public PagedList listQueryResultsForResourceGroupNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy tracked resources under the 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> listQueryResultsForResourceGroupNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy tracked resources under the 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<PolicyTrackedResourceInner> object + */ + public Observable> listQueryResultsForResourceGroupNextAsync(final String nextPageLink) { + return listQueryResultsForResourceGroupNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy tracked resources under the 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<PolicyTrackedResourceInner> object + */ + public Observable>> listQueryResultsForResourceGroupNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForResourceGroupNextSinglePageAsync(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(listQueryResultsForResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy tracked resources under the 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<PolicyTrackedResourceInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceGroupNextSinglePageAsync(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.listQueryResultsForResourceGroupNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceGroupNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceGroupNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + + /** + * Queries policy tracked resources under the resource. + * + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @throws QueryFailureException 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<PolicyTrackedResourceInner> object if successful. + */ + public PagedList listQueryResultsForResourceNext(final String nextPageLink) { + ServiceResponse> response = listQueryResultsForResourceNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Queries policy tracked resources under the resource. + * + * @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> listQueryResultsForResourceNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listQueryResultsForResourceNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Queries policy tracked resources under the resource. + * + * @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<PolicyTrackedResourceInner> object + */ + public Observable> listQueryResultsForResourceNextAsync(final String nextPageLink) { + return listQueryResultsForResourceNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Queries policy tracked resources under the resource. + * + * @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<PolicyTrackedResourceInner> object + */ + public Observable>> listQueryResultsForResourceNextWithServiceResponseAsync(final String nextPageLink) { + return listQueryResultsForResourceNextSinglePageAsync(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(listQueryResultsForResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Queries policy tracked resources under the resource. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<PolicyTrackedResourceInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listQueryResultsForResourceNextSinglePageAsync(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.listQueryResultsForResourceNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listQueryResultsForResourceNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listQueryResultsForResourceNextDelegate(Response response) throws QueryFailureException, IOException, IllegalArgumentException { + return this.client.restClient().responseBuilderFactory()., QueryFailureException>newInstance(this.client.serializerAdapter()) + .register(200, new TypeToken>() { }.getType()) + .registerError(QueryFailureException.class) + .build(response); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationDeploymentImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationDeploymentImpl.java new file mode 100644 index 000000000000..33af0050a938 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationDeploymentImpl.java @@ -0,0 +1,63 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.RemediationDeployment; +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import org.joda.time.DateTime; +import com.microsoft.azure.management.policyinsights.v2020_07_01.ErrorDefinition; + +class RemediationDeploymentImpl extends WrapperImpl implements RemediationDeployment { + private final PolicyInsightsManager manager; + RemediationDeploymentImpl(RemediationDeploymentInner inner, PolicyInsightsManager manager) { + super(inner); + this.manager = manager; + } + + @Override + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public DateTime createdOn() { + return this.inner().createdOn(); + } + + @Override + public String deploymentId() { + return this.inner().deploymentId(); + } + + @Override + public ErrorDefinition error() { + return this.inner().error(); + } + + @Override + public DateTime lastUpdatedOn() { + return this.inner().lastUpdatedOn(); + } + + @Override + public String remediatedResourceId() { + return this.inner().remediatedResourceId(); + } + + @Override + public String resourceLocation() { + return this.inner().resourceLocation(); + } + + @Override + public String status() { + return this.inner().status(); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationDeploymentInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationDeploymentInner.java new file mode 100644 index 000000000000..a9215fb9728e --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationDeploymentInner.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.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.ErrorDefinition; +import org.joda.time.DateTime; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Details of a single deployment created by the remediation. + */ +public class RemediationDeploymentInner { + /** + * Resource ID of the resource that is being remediated by the deployment. + */ + @JsonProperty(value = "remediatedResourceId", access = JsonProperty.Access.WRITE_ONLY) + private String remediatedResourceId; + + /** + * Resource ID of the template deployment that will remediate the resource. + */ + @JsonProperty(value = "deploymentId", access = JsonProperty.Access.WRITE_ONLY) + private String deploymentId; + + /** + * Status of the remediation deployment. + */ + @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY) + private String status; + + /** + * Location of the resource that is being remediated. + */ + @JsonProperty(value = "resourceLocation", access = JsonProperty.Access.WRITE_ONLY) + private String resourceLocation; + + /** + * Error encountered while remediated the resource. + */ + @JsonProperty(value = "error", access = JsonProperty.Access.WRITE_ONLY) + private ErrorDefinition error; + + /** + * The time at which the remediation was created. + */ + @JsonProperty(value = "createdOn", access = JsonProperty.Access.WRITE_ONLY) + private DateTime createdOn; + + /** + * The time at which the remediation deployment was last updated. + */ + @JsonProperty(value = "lastUpdatedOn", access = JsonProperty.Access.WRITE_ONLY) + private DateTime lastUpdatedOn; + + /** + * Get resource ID of the resource that is being remediated by the deployment. + * + * @return the remediatedResourceId value + */ + public String remediatedResourceId() { + return this.remediatedResourceId; + } + + /** + * Get resource ID of the template deployment that will remediate the resource. + * + * @return the deploymentId value + */ + public String deploymentId() { + return this.deploymentId; + } + + /** + * Get status of the remediation deployment. + * + * @return the status value + */ + public String status() { + return this.status; + } + + /** + * Get location of the resource that is being remediated. + * + * @return the resourceLocation value + */ + public String resourceLocation() { + return this.resourceLocation; + } + + /** + * Get error encountered while remediated the resource. + * + * @return the error value + */ + public ErrorDefinition error() { + return this.error; + } + + /** + * Get the time at which the remediation was created. + * + * @return the createdOn value + */ + public DateTime createdOn() { + return this.createdOn; + } + + /** + * Get the time at which the remediation deployment was last updated. + * + * @return the lastUpdatedOn value + */ + public DateTime lastUpdatedOn() { + return this.lastUpdatedOn; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationImpl.java new file mode 100644 index 000000000000..82081735794b --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationImpl.java @@ -0,0 +1,159 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.Remediation; +import com.microsoft.azure.arm.model.implementation.CreatableUpdatableImpl; +import rx.Observable; +import com.microsoft.azure.management.policyinsights.v2020_07_01.ResourceDiscoveryMode; +import org.joda.time.DateTime; +import com.microsoft.azure.management.policyinsights.v2020_07_01.RemediationFilters; +import com.microsoft.azure.management.policyinsights.v2020_07_01.RemediationDeploymentSummary; + +class RemediationImpl extends CreatableUpdatableImpl implements Remediation, Remediation.Definition, Remediation.Update { + private final PolicyInsightsManager manager; + private String managementGroupId; + private String remediationName; + + RemediationImpl(String name, PolicyInsightsManager manager) { + super(name, new RemediationInner()); + this.manager = manager; + // Set resource name + this.remediationName = name; + // + } + + RemediationImpl(RemediationInner inner, PolicyInsightsManager manager) { + super(inner.name(), inner); + this.manager = manager; + // Set resource name + this.remediationName = inner.name(); + // set resource ancestor and positional variables + this.managementGroupId = IdParsingUtils.getValueFromIdByName(inner.id(), "managementGroups"); + this.remediationName = IdParsingUtils.getValueFromIdByName(inner.id(), "remediations"); + // + } + + @Override + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public Observable createResourceAsync() { + RemediationsInner client = this.manager().inner().remediations(); + return client.createOrUpdateAtManagementGroupAsync(this.managementGroupId, this.remediationName, this.inner()) + .map(innerToFluentMap(this)); + } + + @Override + public Observable updateResourceAsync() { + RemediationsInner client = this.manager().inner().remediations(); + return client.createOrUpdateAtManagementGroupAsync(this.managementGroupId, this.remediationName, this.inner()) + .map(innerToFluentMap(this)); + } + + @Override + protected Observable getInnerAsync() { + RemediationsInner client = this.manager().inner().remediations(); + return null; // NOP getInnerAsync implementation as get is not supported + } + + @Override + public boolean isInCreateMode() { + return this.inner().id() == null; + } + + + @Override + public DateTime createdOn() { + return this.inner().createdOn(); + } + + @Override + public RemediationDeploymentSummary deploymentStatus() { + return this.inner().deploymentStatus(); + } + + @Override + public RemediationFilters filters() { + return this.inner().filters(); + } + + @Override + public String id() { + return this.inner().id(); + } + + @Override + public DateTime lastUpdatedOn() { + return this.inner().lastUpdatedOn(); + } + + @Override + public String name() { + return this.inner().name(); + } + + @Override + public String policyAssignmentId() { + return this.inner().policyAssignmentId(); + } + + @Override + public String policyDefinitionReferenceId() { + return this.inner().policyDefinitionReferenceId(); + } + + @Override + public String provisioningState() { + return this.inner().provisioningState(); + } + + @Override + public ResourceDiscoveryMode resourceDiscoveryMode() { + return this.inner().resourceDiscoveryMode(); + } + + @Override + public String type() { + return this.inner().type(); + } + + @Override + public RemediationImpl withExistingMicrosoft.PolicyInsight(String managementGroupId) { + this.managementGroupId = managementGroupId; + return this; + } + + @Override + public RemediationImpl withFilters(RemediationFilters filters) { + this.inner().withFilters(filters); + return this; + } + + @Override + public RemediationImpl withPolicyAssignmentId(String policyAssignmentId) { + this.inner().withPolicyAssignmentId(policyAssignmentId); + return this; + } + + @Override + public RemediationImpl withPolicyDefinitionReferenceId(String policyDefinitionReferenceId) { + this.inner().withPolicyDefinitionReferenceId(policyDefinitionReferenceId); + return this; + } + + @Override + public RemediationImpl withResourceDiscoveryMode(ResourceDiscoveryMode resourceDiscoveryMode) { + this.inner().withResourceDiscoveryMode(resourceDiscoveryMode); + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationInner.java new file mode 100644 index 000000000000..e61628a448cb --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationInner.java @@ -0,0 +1,194 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.ResourceDiscoveryMode; +import org.joda.time.DateTime; +import com.microsoft.azure.management.policyinsights.v2020_07_01.RemediationFilters; +import com.microsoft.azure.management.policyinsights.v2020_07_01.RemediationDeploymentSummary; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.microsoft.rest.serializer.JsonFlatten; +import com.microsoft.azure.ProxyResource; + +/** + * The remediation definition. + */ +@JsonFlatten +public class RemediationInner extends ProxyResource { + /** + * The resource ID of the policy assignment that should be remediated. + */ + @JsonProperty(value = "properties.policyAssignmentId") + private String policyAssignmentId; + + /** + * The policy definition reference ID of the individual definition that + * should be remediated. Required when the policy assignment being + * remediated assigns a policy set definition. + */ + @JsonProperty(value = "properties.policyDefinitionReferenceId") + private String policyDefinitionReferenceId; + + /** + * The way resources to remediate are discovered. Defaults to + * ExistingNonCompliant if not specified. Possible values include: + * 'ExistingNonCompliant', 'ReEvaluateCompliance'. + */ + @JsonProperty(value = "properties.resourceDiscoveryMode") + private ResourceDiscoveryMode resourceDiscoveryMode; + + /** + * The status of the remediation. + */ + @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY) + private String provisioningState; + + /** + * The time at which the remediation was created. + */ + @JsonProperty(value = "properties.createdOn", access = JsonProperty.Access.WRITE_ONLY) + private DateTime createdOn; + + /** + * The time at which the remediation was last updated. + */ + @JsonProperty(value = "properties.lastUpdatedOn", access = JsonProperty.Access.WRITE_ONLY) + private DateTime lastUpdatedOn; + + /** + * The filters that will be applied to determine which resources to + * remediate. + */ + @JsonProperty(value = "properties.filters") + private RemediationFilters filters; + + /** + * The deployment status summary for all deployments created by the + * remediation. + */ + @JsonProperty(value = "properties.deploymentStatus", access = JsonProperty.Access.WRITE_ONLY) + private RemediationDeploymentSummary deploymentStatus; + + /** + * Get the resource ID of the policy assignment that should be remediated. + * + * @return the policyAssignmentId value + */ + public String policyAssignmentId() { + return this.policyAssignmentId; + } + + /** + * Set the resource ID of the policy assignment that should be remediated. + * + * @param policyAssignmentId the policyAssignmentId value to set + * @return the RemediationInner object itself. + */ + public RemediationInner withPolicyAssignmentId(String policyAssignmentId) { + this.policyAssignmentId = policyAssignmentId; + return this; + } + + /** + * Get the policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition. + * + * @return the policyDefinitionReferenceId value + */ + public String policyDefinitionReferenceId() { + return this.policyDefinitionReferenceId; + } + + /** + * Set the policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition. + * + * @param policyDefinitionReferenceId the policyDefinitionReferenceId value to set + * @return the RemediationInner object itself. + */ + public RemediationInner withPolicyDefinitionReferenceId(String policyDefinitionReferenceId) { + this.policyDefinitionReferenceId = policyDefinitionReferenceId; + return this; + } + + /** + * Get the way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified. Possible values include: 'ExistingNonCompliant', 'ReEvaluateCompliance'. + * + * @return the resourceDiscoveryMode value + */ + public ResourceDiscoveryMode resourceDiscoveryMode() { + return this.resourceDiscoveryMode; + } + + /** + * Set the way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified. Possible values include: 'ExistingNonCompliant', 'ReEvaluateCompliance'. + * + * @param resourceDiscoveryMode the resourceDiscoveryMode value to set + * @return the RemediationInner object itself. + */ + public RemediationInner withResourceDiscoveryMode(ResourceDiscoveryMode resourceDiscoveryMode) { + this.resourceDiscoveryMode = resourceDiscoveryMode; + return this; + } + + /** + * Get the status of the remediation. + * + * @return the provisioningState value + */ + public String provisioningState() { + return this.provisioningState; + } + + /** + * Get the time at which the remediation was created. + * + * @return the createdOn value + */ + public DateTime createdOn() { + return this.createdOn; + } + + /** + * Get the time at which the remediation was last updated. + * + * @return the lastUpdatedOn value + */ + public DateTime lastUpdatedOn() { + return this.lastUpdatedOn; + } + + /** + * Get the filters that will be applied to determine which resources to remediate. + * + * @return the filters value + */ + public RemediationFilters filters() { + return this.filters; + } + + /** + * Set the filters that will be applied to determine which resources to remediate. + * + * @param filters the filters value to set + * @return the RemediationInner object itself. + */ + public RemediationInner withFilters(RemediationFilters filters) { + this.filters = filters; + return this; + } + + /** + * Get the deployment status summary for all deployments created by the remediation. + * + * @return the deploymentStatus value + */ + public RemediationDeploymentSummary deploymentStatus() { + return this.deploymentStatus; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationsImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationsImpl.java new file mode 100644 index 000000000000..06c6d16b648c --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationsImpl.java @@ -0,0 +1,369 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import com.microsoft.azure.management.policyinsights.v2020_07_01.Remediations; +import rx.functions.Func1; +import rx.Observable; +import com.microsoft.azure.Page; +import com.microsoft.azure.management.policyinsights.v2020_07_01.RemediationDeployment; +import com.microsoft.azure.management.policyinsights.v2020_07_01.Remediation; + +class RemediationsImpl extends WrapperImpl implements Remediations { + private final PolicyInsightsManager manager; + + RemediationsImpl(PolicyInsightsManager manager) { + super(manager.inner().remediations()); + this.manager = manager; + } + + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public RemediationImpl define(String name) { + return wrapModel(name); + } + + private RemediationImpl wrapModel(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + + private RemediationImpl wrapModel(String name) { + return new RemediationImpl(name, this.manager()); + } + + @Override + public Observable listDeploymentsAtManagementGroupAsync(final String managementGroupId, final String remediationName) { + RemediationsInner client = this.inner(); + return client.listDeploymentsAtManagementGroupAsync(managementGroupId, remediationName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public RemediationDeployment call(RemediationDeploymentInner inner) { + return new RemediationDeploymentImpl(inner, manager()); + } + }); + } + + @Override + public Observable cancelAtManagementGroupAsync(String managementGroupId, String remediationName) { + RemediationsInner client = this.inner(); + return client.cancelAtManagementGroupAsync(managementGroupId, remediationName) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable listForManagementGroupAsync(final String managementGroupId) { + RemediationsInner client = this.inner(); + return client.listForManagementGroupAsync(managementGroupId) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable getAtManagementGroupAsync(String managementGroupId, String remediationName) { + RemediationsInner client = this.inner(); + return client.getAtManagementGroupAsync(managementGroupId, remediationName) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable deleteAtManagementGroupAsync(String managementGroupId, String remediationName) { + RemediationsInner client = this.inner(); + return client.deleteAtManagementGroupAsync(managementGroupId, remediationName) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable listDeploymentsAtSubscriptionAsync(final String subscriptionId, final String remediationName) { + RemediationsInner client = this.inner(); + return client.listDeploymentsAtSubscriptionAsync(subscriptionId, remediationName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public RemediationDeployment call(RemediationDeploymentInner inner) { + return new RemediationDeploymentImpl(inner, manager()); + } + }); + } + + @Override + public Observable cancelAtSubscriptionAsync(String subscriptionId, String remediationName) { + RemediationsInner client = this.inner(); + return client.cancelAtSubscriptionAsync(subscriptionId, remediationName) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable createOrUpdateAtSubscriptionAsync(String subscriptionId, String remediationName, RemediationInner parameters) { + RemediationsInner client = this.inner(); + return client.createOrUpdateAtSubscriptionAsync(subscriptionId, remediationName, parameters) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable getAtSubscriptionAsync(String subscriptionId, String remediationName) { + RemediationsInner client = this.inner(); + return client.getAtSubscriptionAsync(subscriptionId, remediationName) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable deleteAtSubscriptionAsync(String subscriptionId, String remediationName) { + RemediationsInner client = this.inner(); + return client.deleteAtSubscriptionAsync(subscriptionId, remediationName) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable listDeploymentsAtResourceGroupAsync(final String subscriptionId, final String resourceGroupName, final String remediationName) { + RemediationsInner client = this.inner(); + return client.listDeploymentsAtResourceGroupAsync(subscriptionId, resourceGroupName, remediationName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public RemediationDeployment call(RemediationDeploymentInner inner) { + return new RemediationDeploymentImpl(inner, manager()); + } + }); + } + + @Override + public Observable cancelAtResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName) { + RemediationsInner client = this.inner(); + return client.cancelAtResourceGroupAsync(subscriptionId, resourceGroupName, remediationName) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable createOrUpdateAtResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName, RemediationInner parameters) { + RemediationsInner client = this.inner(); + return client.createOrUpdateAtResourceGroupAsync(subscriptionId, resourceGroupName, remediationName, parameters) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable getByResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName) { + RemediationsInner client = this.inner(); + return client.getByResourceGroupAsync(subscriptionId, resourceGroupName, remediationName) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable deleteAtResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName) { + RemediationsInner client = this.inner(); + return client.deleteAtResourceGroupAsync(subscriptionId, resourceGroupName, remediationName) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable listDeploymentsAtResourceAsync(final String resourceId, final String remediationName) { + RemediationsInner client = this.inner(); + return client.listDeploymentsAtResourceAsync(resourceId, remediationName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public RemediationDeployment call(RemediationDeploymentInner inner) { + return new RemediationDeploymentImpl(inner, manager()); + } + }); + } + + @Override + public Observable cancelAtResourceAsync(String resourceId, String remediationName) { + RemediationsInner client = this.inner(); + return client.cancelAtResourceAsync(resourceId, remediationName) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable createOrUpdateAtResourceAsync(String resourceId, String remediationName, RemediationInner parameters) { + RemediationsInner client = this.inner(); + return client.createOrUpdateAtResourceAsync(resourceId, remediationName, parameters) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable getAtResourceAsync(String resourceId, String remediationName) { + RemediationsInner client = this.inner(); + return client.getAtResourceAsync(resourceId, remediationName) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable deleteAtResourceAsync(String resourceId, String remediationName) { + RemediationsInner client = this.inner(); + return client.deleteAtResourceAsync(resourceId, remediationName) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable listAsync(final String subscriptionId) { + RemediationsInner client = this.inner(); + return client.listAsync(subscriptionId) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable listByResourceGroupAsync(final String subscriptionId, final String resourceGroupName) { + RemediationsInner client = this.inner(); + return client.listByResourceGroupAsync(subscriptionId, resourceGroupName) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + + @Override + public Observable listForResourceAsync(final String resourceId) { + RemediationsInner client = this.inner(); + return client.listForResourceAsync(resourceId) + .flatMapIterable(new Func1, Iterable>() { + @Override + public Iterable call(Page page) { + return page.items(); + } + }) + .map(new Func1() { + @Override + public Remediation call(RemediationInner inner) { + return new RemediationImpl(inner, manager()); + } + }); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationsInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationsInner.java new file mode 100644 index 000000000000..14bcd27be4da --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/RemediationsInner.java @@ -0,0 +1,4372 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import retrofit2.Retrofit; +import com.google.common.reflect.TypeToken; +import com.microsoft.azure.AzureServiceFuture; +import com.microsoft.azure.ListOperationCallback; +import com.microsoft.azure.management.policyinsights.v2020_07_01.ErrorResponseException; +import com.microsoft.azure.management.policyinsights.v2020_07_01.QueryOptions; +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.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 Remediations. + */ +public class RemediationsInner { + /** The Retrofit service to perform REST calls. */ + private RemediationsService service; + /** The service client containing this operation class. */ + private PolicyInsightsClientImpl client; + + /** + * Initializes an instance of RemediationsInner. + * + * @param retrofit the Retrofit instance built from a Retrofit Builder. + * @param client the instance of the service client containing this operation class. + */ + public RemediationsInner(Retrofit retrofit, PolicyInsightsClientImpl client) { + this.service = retrofit.create(RemediationsService.class); + this.client = client; + } + + /** + * The interface defining all the services for Remediations to be + * used by Retrofit to perform actually REST calls. + */ + interface RemediationsService { + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.Remediations listDeploymentsAtManagementGroup" }) + @POST("providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments") + Observable> listDeploymentsAtManagementGroup(@Path("managementGroupsNamespace") String managementGroupsNamespace, @Path("managementGroupId") String managementGroupId, @Path("remediationName") String remediationName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.Remediations cancelAtManagementGroup" }) + @POST("providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel") + Observable> cancelAtManagementGroup(@Path("managementGroupsNamespace") String managementGroupsNamespace, @Path("managementGroupId") String managementGroupId, @Path("remediationName") String remediationName, @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.policyinsights.v2020_07_01.Remediations listForManagementGroup" }) + @GET("providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations") + Observable> listForManagementGroup(@Path("managementGroupsNamespace") String managementGroupsNamespace, @Path("managementGroupId") String managementGroupId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.Remediations createOrUpdateAtManagementGroup" }) + @PUT("providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}") + Observable> createOrUpdateAtManagementGroup(@Path("managementGroupsNamespace") String managementGroupsNamespace, @Path("managementGroupId") String managementGroupId, @Path("remediationName") String remediationName, @Query("api-version") String apiVersion, @Body RemediationInner parameters, @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.policyinsights.v2020_07_01.Remediations getAtManagementGroup" }) + @GET("providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}") + Observable> getAtManagementGroup(@Path("managementGroupsNamespace") String managementGroupsNamespace, @Path("managementGroupId") String managementGroupId, @Path("remediationName") String remediationName, @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.policyinsights.v2020_07_01.Remediations deleteAtManagementGroup" }) + @HTTP(path = "providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", method = "DELETE", hasBody = true) + Observable> deleteAtManagementGroup(@Path("managementGroupsNamespace") String managementGroupsNamespace, @Path("managementGroupId") String managementGroupId, @Path("remediationName") String remediationName, @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.policyinsights.v2020_07_01.Remediations listDeploymentsAtSubscription" }) + @POST("subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments") + Observable> listDeploymentsAtSubscription(@Path("subscriptionId") String subscriptionId, @Path("remediationName") String remediationName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.Remediations cancelAtSubscription" }) + @POST("subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel") + Observable> cancelAtSubscription(@Path("subscriptionId") String subscriptionId, @Path("remediationName") String remediationName, @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.policyinsights.v2020_07_01.Remediations list" }) + @GET("subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations") + Observable> list(@Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.Remediations createOrUpdateAtSubscription" }) + @PUT("subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}") + Observable> createOrUpdateAtSubscription(@Path("subscriptionId") String subscriptionId, @Path("remediationName") String remediationName, @Query("api-version") String apiVersion, @Body RemediationInner parameters, @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.policyinsights.v2020_07_01.Remediations getAtSubscription" }) + @GET("subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}") + Observable> getAtSubscription(@Path("subscriptionId") String subscriptionId, @Path("remediationName") String remediationName, @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.policyinsights.v2020_07_01.Remediations deleteAtSubscription" }) + @HTTP(path = "subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", method = "DELETE", hasBody = true) + Observable> deleteAtSubscription(@Path("subscriptionId") String subscriptionId, @Path("remediationName") String remediationName, @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.policyinsights.v2020_07_01.Remediations listDeploymentsAtResourceGroup" }) + @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments") + Observable> listDeploymentsAtResourceGroup(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("remediationName") String remediationName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.Remediations cancelAtResourceGroup" }) + @POST("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel") + Observable> cancelAtResourceGroup(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("remediationName") String remediationName, @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.policyinsights.v2020_07_01.Remediations listByResourceGroup" }) + @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations") + Observable> listByResourceGroup(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.Remediations createOrUpdateAtResourceGroup" }) + @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}") + Observable> createOrUpdateAtResourceGroup(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("remediationName") String remediationName, @Query("api-version") String apiVersion, @Body RemediationInner parameters, @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.policyinsights.v2020_07_01.Remediations getByResourceGroup" }) + @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}") + Observable> getByResourceGroup(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("remediationName") String remediationName, @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.policyinsights.v2020_07_01.Remediations deleteAtResourceGroup" }) + @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", method = "DELETE", hasBody = true) + Observable> deleteAtResourceGroup(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("remediationName") String remediationName, @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.policyinsights.v2020_07_01.Remediations listDeploymentsAtResource" }) + @POST("{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments") + Observable> listDeploymentsAtResource(@Path(value = "resourceId", encoded = true) String resourceId, @Path("remediationName") String remediationName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.Remediations cancelAtResource" }) + @POST("{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel") + Observable> cancelAtResource(@Path(value = "resourceId", encoded = true) String resourceId, @Path("remediationName") String remediationName, @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.policyinsights.v2020_07_01.Remediations listForResource" }) + @GET("{resourceId}/providers/Microsoft.PolicyInsights/remediations") + Observable> listForResource(@Path(value = "resourceId", encoded = true) String resourceId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Query("$top") Integer top, @Query("$filter") String filter, @Header("User-Agent") String userAgent); + + @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.policyinsights.v2020_07_01.Remediations createOrUpdateAtResource" }) + @PUT("{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}") + Observable> createOrUpdateAtResource(@Path(value = "resourceId", encoded = true) String resourceId, @Path("remediationName") String remediationName, @Query("api-version") String apiVersion, @Body RemediationInner parameters, @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.policyinsights.v2020_07_01.Remediations getAtResource" }) + @GET("{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}") + Observable> getAtResource(@Path(value = "resourceId", encoded = true) String resourceId, @Path("remediationName") String remediationName, @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.policyinsights.v2020_07_01.Remediations deleteAtResource" }) + @HTTP(path = "{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", method = "DELETE", hasBody = true) + Observable> deleteAtResource(@Path(value = "resourceId", encoded = true) String resourceId, @Path("remediationName") String remediationName, @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.policyinsights.v2020_07_01.Remediations listDeploymentsAtManagementGroupNext" }) + @GET + Observable> listDeploymentsAtManagementGroupNext(@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.policyinsights.v2020_07_01.Remediations listForManagementGroupNext" }) + @GET + Observable> listForManagementGroupNext(@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.policyinsights.v2020_07_01.Remediations listDeploymentsAtSubscriptionNext" }) + @GET + Observable> listDeploymentsAtSubscriptionNext(@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.policyinsights.v2020_07_01.Remediations listNext" }) + @GET + Observable> listNext(@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.policyinsights.v2020_07_01.Remediations listDeploymentsAtResourceGroupNext" }) + @GET + Observable> listDeploymentsAtResourceGroupNext(@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.policyinsights.v2020_07_01.Remediations 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.policyinsights.v2020_07_01.Remediations listDeploymentsAtResourceNext" }) + @GET + Observable> listDeploymentsAtResourceNext(@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.policyinsights.v2020_07_01.Remediations listForResourceNext" }) + @GET + Observable> listForResourceNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent); + + } + + /** + * Gets all deployments for a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @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<RemediationDeploymentInner> object if successful. + */ + public PagedList listDeploymentsAtManagementGroup(final String managementGroupId, final String remediationName) { + ServiceResponse> response = listDeploymentsAtManagementGroupSinglePageAsync(managementGroupId, remediationName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listDeploymentsAtManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all deployments for a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @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> listDeploymentsAtManagementGroupAsync(final String managementGroupId, final String remediationName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listDeploymentsAtManagementGroupSinglePageAsync(managementGroupId, remediationName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listDeploymentsAtManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all deployments for a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable> listDeploymentsAtManagementGroupAsync(final String managementGroupId, final String remediationName) { + return listDeploymentsAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all deployments for a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable>> listDeploymentsAtManagementGroupWithServiceResponseAsync(final String managementGroupId, final String remediationName) { + return listDeploymentsAtManagementGroupSinglePageAsync(managementGroupId, remediationName) + .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(listDeploymentsAtManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all deployments for a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationDeploymentInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listDeploymentsAtManagementGroupSinglePageAsync(final String managementGroupId, final String remediationName) { + if (managementGroupId == null) { + throw new IllegalArgumentException("Parameter managementGroupId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-07-01"; + final QueryOptions queryOptions = null; + Integer top = null; + return service.listDeploymentsAtManagementGroup(managementGroupsNamespace, managementGroupId, remediationName, apiVersion, this.client.acceptLanguage(), top, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDeploymentsAtManagementGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Gets all deployments for a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the 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<RemediationDeploymentInner> object if successful. + */ + public PagedList listDeploymentsAtManagementGroup(final String managementGroupId, final String remediationName, final QueryOptions queryOptions) { + ServiceResponse> response = listDeploymentsAtManagementGroupSinglePageAsync(managementGroupId, remediationName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listDeploymentsAtManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all deployments for a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the operation + * @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> listDeploymentsAtManagementGroupAsync(final String managementGroupId, final String remediationName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listDeploymentsAtManagementGroupSinglePageAsync(managementGroupId, remediationName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listDeploymentsAtManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all deployments for a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable> listDeploymentsAtManagementGroupAsync(final String managementGroupId, final String remediationName, final QueryOptions queryOptions) { + return listDeploymentsAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all deployments for a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable>> listDeploymentsAtManagementGroupWithServiceResponseAsync(final String managementGroupId, final String remediationName, final QueryOptions queryOptions) { + return listDeploymentsAtManagementGroupSinglePageAsync(managementGroupId, remediationName, queryOptions) + .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(listDeploymentsAtManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all deployments for a remediation at management group scope. + * + ServiceResponse> * @param managementGroupId Management group ID. + ServiceResponse> * @param remediationName The name of the remediation. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationDeploymentInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listDeploymentsAtManagementGroupSinglePageAsync(final String managementGroupId, final String remediationName, final QueryOptions queryOptions) { + if (managementGroupId == null) { + throw new IllegalArgumentException("Parameter managementGroupId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-07-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + return service.listDeploymentsAtManagementGroup(managementGroupsNamespace, managementGroupId, remediationName, apiVersion, this.client.acceptLanguage(), top, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDeploymentsAtManagementGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listDeploymentsAtManagementGroupDelegate(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); + } + + /** + * Cancels a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @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 RemediationInner object if successful. + */ + public RemediationInner cancelAtManagementGroup(String managementGroupId, String remediationName) { + return cancelAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName).toBlocking().single().body(); + } + + /** + * Cancels a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @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 cancelAtManagementGroupAsync(String managementGroupId, String remediationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(cancelAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName), serviceCallback); + } + + /** + * Cancels a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable cancelAtManagementGroupAsync(String managementGroupId, String remediationName) { + return cancelAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Cancels a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> cancelAtManagementGroupWithServiceResponseAsync(String managementGroupId, String remediationName) { + if (managementGroupId == null) { + throw new IllegalArgumentException("Parameter managementGroupId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-07-01"; + return service.cancelAtManagementGroup(managementGroupsNamespace, managementGroupId, remediationName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = cancelAtManagementGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse cancelAtManagementGroupDelegate(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 remediations for the management group. + * + * @param managementGroupId Management group ID. + * @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<RemediationInner> object if successful. + */ + public PagedList listForManagementGroup(final String managementGroupId) { + ServiceResponse> response = listForManagementGroupSinglePageAsync(managementGroupId).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all remediations for the management group. + * + * @param managementGroupId Management group ID. + * @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> listForManagementGroupAsync(final String managementGroupId, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listForManagementGroupSinglePageAsync(managementGroupId), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listForManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all remediations for the management group. + * + * @param managementGroupId Management group ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable> listForManagementGroupAsync(final String managementGroupId) { + return listForManagementGroupWithServiceResponseAsync(managementGroupId) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all remediations for the management group. + * + * @param managementGroupId Management group ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable>> listForManagementGroupWithServiceResponseAsync(final String managementGroupId) { + return listForManagementGroupSinglePageAsync(managementGroupId) + .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(listForManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all remediations for the management group. + * + * @param managementGroupId Management group ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listForManagementGroupSinglePageAsync(final String managementGroupId) { + if (managementGroupId == null) { + throw new IllegalArgumentException("Parameter managementGroupId is required and cannot be null."); + } + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-07-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String filter = null; + return service.listForManagementGroup(managementGroupsNamespace, managementGroupId, apiVersion, this.client.acceptLanguage(), top, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listForManagementGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Gets all remediations for the management group. + * + * @param managementGroupId Management group ID. + * @param queryOptions Additional parameters for the 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<RemediationInner> object if successful. + */ + public PagedList listForManagementGroup(final String managementGroupId, final QueryOptions queryOptions) { + ServiceResponse> response = listForManagementGroupSinglePageAsync(managementGroupId, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all remediations for the management group. + * + * @param managementGroupId Management group ID. + * @param queryOptions Additional parameters for the operation + * @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> listForManagementGroupAsync(final String managementGroupId, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listForManagementGroupSinglePageAsync(managementGroupId, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listForManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all remediations for the management group. + * + * @param managementGroupId Management group ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable> listForManagementGroupAsync(final String managementGroupId, final QueryOptions queryOptions) { + return listForManagementGroupWithServiceResponseAsync(managementGroupId, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all remediations for the management group. + * + * @param managementGroupId Management group ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable>> listForManagementGroupWithServiceResponseAsync(final String managementGroupId, final QueryOptions queryOptions) { + return listForManagementGroupSinglePageAsync(managementGroupId, queryOptions) + .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(listForManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all remediations for the management group. + * + ServiceResponse> * @param managementGroupId Management group ID. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listForManagementGroupSinglePageAsync(final String managementGroupId, final QueryOptions queryOptions) { + if (managementGroupId == null) { + throw new IllegalArgumentException("Parameter managementGroupId is required and cannot be null."); + } + Validator.validate(queryOptions); + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-07-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.listForManagementGroup(managementGroupsNamespace, managementGroupId, apiVersion, this.client.acceptLanguage(), top, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listForManagementGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listForManagementGroupDelegate(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); + } + + /** + * Creates or updates a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @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 RemediationInner object if successful. + */ + public RemediationInner createOrUpdateAtManagementGroup(String managementGroupId, String remediationName, RemediationInner parameters) { + return createOrUpdateAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName, parameters).toBlocking().single().body(); + } + + /** + * Creates or updates a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @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 createOrUpdateAtManagementGroupAsync(String managementGroupId, String remediationName, RemediationInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(createOrUpdateAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName, parameters), serviceCallback); + } + + /** + * Creates or updates a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable createOrUpdateAtManagementGroupAsync(String managementGroupId, String remediationName, RemediationInner parameters) { + return createOrUpdateAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName, parameters).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates or updates a remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> createOrUpdateAtManagementGroupWithServiceResponseAsync(String managementGroupId, String remediationName, RemediationInner parameters) { + if (managementGroupId == null) { + throw new IllegalArgumentException("Parameter managementGroupId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + Validator.validate(parameters); + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-07-01"; + return service.createOrUpdateAtManagementGroup(managementGroupsNamespace, managementGroupId, remediationName, apiVersion, parameters, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = createOrUpdateAtManagementGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse createOrUpdateAtManagementGroupDelegate(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); + } + + /** + * Gets an existing remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @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 RemediationInner object if successful. + */ + public RemediationInner getAtManagementGroup(String managementGroupId, String remediationName) { + return getAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName).toBlocking().single().body(); + } + + /** + * Gets an existing remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @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 getAtManagementGroupAsync(String managementGroupId, String remediationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(getAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName), serviceCallback); + } + + /** + * Gets an existing remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable getAtManagementGroupAsync(String managementGroupId, String remediationName) { + return getAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Gets an existing remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> getAtManagementGroupWithServiceResponseAsync(String managementGroupId, String remediationName) { + if (managementGroupId == null) { + throw new IllegalArgumentException("Parameter managementGroupId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-07-01"; + return service.getAtManagementGroup(managementGroupsNamespace, managementGroupId, remediationName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = getAtManagementGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse getAtManagementGroupDelegate(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 an existing remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @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 RemediationInner object if successful. + */ + public RemediationInner deleteAtManagementGroup(String managementGroupId, String remediationName) { + return deleteAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName).toBlocking().single().body(); + } + + /** + * Deletes an existing remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @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 deleteAtManagementGroupAsync(String managementGroupId, String remediationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(deleteAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName), serviceCallback); + } + + /** + * Deletes an existing remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable deleteAtManagementGroupAsync(String managementGroupId, String remediationName) { + return deleteAtManagementGroupWithServiceResponseAsync(managementGroupId, remediationName).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Deletes an existing remediation at management group scope. + * + * @param managementGroupId Management group ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> deleteAtManagementGroupWithServiceResponseAsync(String managementGroupId, String remediationName) { + if (managementGroupId == null) { + throw new IllegalArgumentException("Parameter managementGroupId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String managementGroupsNamespace = "Microsoft.Management"; + final String apiVersion = "2019-07-01"; + return service.deleteAtManagementGroup(managementGroupsNamespace, managementGroupId, remediationName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = deleteAtManagementGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse deleteAtManagementGroupDelegate(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); + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @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<RemediationDeploymentInner> object if successful. + */ + public PagedList listDeploymentsAtSubscription(final String subscriptionId, final String remediationName) { + ServiceResponse> response = listDeploymentsAtSubscriptionSinglePageAsync(subscriptionId, remediationName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listDeploymentsAtSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @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> listDeploymentsAtSubscriptionAsync(final String subscriptionId, final String remediationName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listDeploymentsAtSubscriptionSinglePageAsync(subscriptionId, remediationName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listDeploymentsAtSubscriptionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable> listDeploymentsAtSubscriptionAsync(final String subscriptionId, final String remediationName) { + return listDeploymentsAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable>> listDeploymentsAtSubscriptionWithServiceResponseAsync(final String subscriptionId, final String remediationName) { + return listDeploymentsAtSubscriptionSinglePageAsync(subscriptionId, remediationName) + .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(listDeploymentsAtSubscriptionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationDeploymentInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listDeploymentsAtSubscriptionSinglePageAsync(final String subscriptionId, final String remediationName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + final QueryOptions queryOptions = null; + Integer top = null; + return service.listDeploymentsAtSubscription(subscriptionId, remediationName, apiVersion, this.client.acceptLanguage(), top, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDeploymentsAtSubscriptionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the 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<RemediationDeploymentInner> object if successful. + */ + public PagedList listDeploymentsAtSubscription(final String subscriptionId, final String remediationName, final QueryOptions queryOptions) { + ServiceResponse> response = listDeploymentsAtSubscriptionSinglePageAsync(subscriptionId, remediationName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listDeploymentsAtSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the operation + * @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> listDeploymentsAtSubscriptionAsync(final String subscriptionId, final String remediationName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listDeploymentsAtSubscriptionSinglePageAsync(subscriptionId, remediationName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listDeploymentsAtSubscriptionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable> listDeploymentsAtSubscriptionAsync(final String subscriptionId, final String remediationName, final QueryOptions queryOptions) { + return listDeploymentsAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable>> listDeploymentsAtSubscriptionWithServiceResponseAsync(final String subscriptionId, final String remediationName, final QueryOptions queryOptions) { + return listDeploymentsAtSubscriptionSinglePageAsync(subscriptionId, remediationName, queryOptions) + .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(listDeploymentsAtSubscriptionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param remediationName The name of the remediation. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationDeploymentInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listDeploymentsAtSubscriptionSinglePageAsync(final String subscriptionId, final String remediationName, final QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String apiVersion = "2019-07-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + return service.listDeploymentsAtSubscription(subscriptionId, remediationName, apiVersion, this.client.acceptLanguage(), top, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDeploymentsAtSubscriptionDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listDeploymentsAtSubscriptionDelegate(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); + } + + /** + * Cancels a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @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 RemediationInner object if successful. + */ + public RemediationInner cancelAtSubscription(String subscriptionId, String remediationName) { + return cancelAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName).toBlocking().single().body(); + } + + /** + * Cancels a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @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 cancelAtSubscriptionAsync(String subscriptionId, String remediationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(cancelAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName), serviceCallback); + } + + /** + * Cancels a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable cancelAtSubscriptionAsync(String subscriptionId, String remediationName) { + return cancelAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Cancels a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> cancelAtSubscriptionWithServiceResponseAsync(String subscriptionId, String remediationName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + return service.cancelAtSubscription(subscriptionId, remediationName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = cancelAtSubscriptionDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse cancelAtSubscriptionDelegate(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 remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @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<RemediationInner> object if successful. + */ + public PagedList list(final String subscriptionId) { + ServiceResponse> response = listSinglePageAsync(subscriptionId).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param serviceCallback the async ServiceCallback to handle successful and failed responses. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceFuture} object + */ + public ServiceFuture> listAsync(final String subscriptionId, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listSinglePageAsync(subscriptionId), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable> listAsync(final String subscriptionId) { + return listWithServiceResponseAsync(subscriptionId) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable>> listWithServiceResponseAsync(final String subscriptionId) { + return listSinglePageAsync(subscriptionId) + .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 remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listSinglePageAsync(final String subscriptionId) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String filter = null; + return service.list(subscriptionId, apiVersion, this.client.acceptLanguage(), top, filter, 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); + } + } + }); + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the 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<RemediationInner> object if successful. + */ + public PagedList list(final String subscriptionId, final QueryOptions queryOptions) { + ServiceResponse> response = listSinglePageAsync(subscriptionId, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @param serviceCallback the async ServiceCallback to handle successful and failed responses. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the {@link ServiceFuture} object + */ + public ServiceFuture> listAsync(final String subscriptionId, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listSinglePageAsync(subscriptionId, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable> listAsync(final String subscriptionId, final QueryOptions queryOptions) { + return listWithServiceResponseAsync(subscriptionId, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable>> listWithServiceResponseAsync(final String subscriptionId, final QueryOptions queryOptions) { + return listSinglePageAsync(subscriptionId, queryOptions) + .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 remediations for the subscription. + * + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listSinglePageAsync(final String subscriptionId, final QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + Validator.validate(queryOptions); + final String apiVersion = "2019-07-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.list(subscriptionId, apiVersion, this.client.acceptLanguage(), top, filter, 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); + } + + /** + * Creates or updates a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @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 RemediationInner object if successful. + */ + public RemediationInner createOrUpdateAtSubscription(String subscriptionId, String remediationName, RemediationInner parameters) { + return createOrUpdateAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName, parameters).toBlocking().single().body(); + } + + /** + * Creates or updates a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @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 createOrUpdateAtSubscriptionAsync(String subscriptionId, String remediationName, RemediationInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(createOrUpdateAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName, parameters), serviceCallback); + } + + /** + * Creates or updates a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable createOrUpdateAtSubscriptionAsync(String subscriptionId, String remediationName, RemediationInner parameters) { + return createOrUpdateAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName, parameters).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates or updates a remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> createOrUpdateAtSubscriptionWithServiceResponseAsync(String subscriptionId, String remediationName, RemediationInner parameters) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + Validator.validate(parameters); + final String apiVersion = "2019-07-01"; + return service.createOrUpdateAtSubscription(subscriptionId, remediationName, apiVersion, parameters, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = createOrUpdateAtSubscriptionDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse createOrUpdateAtSubscriptionDelegate(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); + } + + /** + * Gets an existing remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @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 RemediationInner object if successful. + */ + public RemediationInner getAtSubscription(String subscriptionId, String remediationName) { + return getAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName).toBlocking().single().body(); + } + + /** + * Gets an existing remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @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 getAtSubscriptionAsync(String subscriptionId, String remediationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(getAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName), serviceCallback); + } + + /** + * Gets an existing remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable getAtSubscriptionAsync(String subscriptionId, String remediationName) { + return getAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Gets an existing remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> getAtSubscriptionWithServiceResponseAsync(String subscriptionId, String remediationName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + return service.getAtSubscription(subscriptionId, remediationName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = getAtSubscriptionDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse getAtSubscriptionDelegate(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 an existing remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @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 RemediationInner object if successful. + */ + public RemediationInner deleteAtSubscription(String subscriptionId, String remediationName) { + return deleteAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName).toBlocking().single().body(); + } + + /** + * Deletes an existing remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @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 deleteAtSubscriptionAsync(String subscriptionId, String remediationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(deleteAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName), serviceCallback); + } + + /** + * Deletes an existing remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable deleteAtSubscriptionAsync(String subscriptionId, String remediationName) { + return deleteAtSubscriptionWithServiceResponseAsync(subscriptionId, remediationName).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Deletes an existing remediation at subscription scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> deleteAtSubscriptionWithServiceResponseAsync(String subscriptionId, String remediationName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + return service.deleteAtSubscription(subscriptionId, remediationName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = deleteAtSubscriptionDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse deleteAtSubscriptionDelegate(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); + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @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<RemediationDeploymentInner> object if successful. + */ + public PagedList listDeploymentsAtResourceGroup(final String subscriptionId, final String resourceGroupName, final String remediationName) { + ServiceResponse> response = listDeploymentsAtResourceGroupSinglePageAsync(subscriptionId, resourceGroupName, remediationName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listDeploymentsAtResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @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> listDeploymentsAtResourceGroupAsync(final String subscriptionId, final String resourceGroupName, final String remediationName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listDeploymentsAtResourceGroupSinglePageAsync(subscriptionId, resourceGroupName, remediationName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listDeploymentsAtResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable> listDeploymentsAtResourceGroupAsync(final String subscriptionId, final String resourceGroupName, final String remediationName) { + return listDeploymentsAtResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable>> listDeploymentsAtResourceGroupWithServiceResponseAsync(final String subscriptionId, final String resourceGroupName, final String remediationName) { + return listDeploymentsAtResourceGroupSinglePageAsync(subscriptionId, resourceGroupName, remediationName) + .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(listDeploymentsAtResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationDeploymentInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listDeploymentsAtResourceGroupSinglePageAsync(final String subscriptionId, final String resourceGroupName, final String remediationName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + final QueryOptions queryOptions = null; + Integer top = null; + return service.listDeploymentsAtResourceGroup(subscriptionId, resourceGroupName, remediationName, apiVersion, this.client.acceptLanguage(), top, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDeploymentsAtResourceGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the 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<RemediationDeploymentInner> object if successful. + */ + public PagedList listDeploymentsAtResourceGroup(final String subscriptionId, final String resourceGroupName, final String remediationName, final QueryOptions queryOptions) { + ServiceResponse> response = listDeploymentsAtResourceGroupSinglePageAsync(subscriptionId, resourceGroupName, remediationName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listDeploymentsAtResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the operation + * @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> listDeploymentsAtResourceGroupAsync(final String subscriptionId, final String resourceGroupName, final String remediationName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listDeploymentsAtResourceGroupSinglePageAsync(subscriptionId, resourceGroupName, remediationName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listDeploymentsAtResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable> listDeploymentsAtResourceGroupAsync(final String subscriptionId, final String resourceGroupName, final String remediationName, final QueryOptions queryOptions) { + return listDeploymentsAtResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable>> listDeploymentsAtResourceGroupWithServiceResponseAsync(final String subscriptionId, final String resourceGroupName, final String remediationName, final QueryOptions queryOptions) { + return listDeploymentsAtResourceGroupSinglePageAsync(subscriptionId, resourceGroupName, remediationName, queryOptions) + .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(listDeploymentsAtResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param resourceGroupName Resource group name. + ServiceResponse> * @param remediationName The name of the remediation. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationDeploymentInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listDeploymentsAtResourceGroupSinglePageAsync(final String subscriptionId, final String resourceGroupName, final String remediationName, final QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String apiVersion = "2019-07-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + return service.listDeploymentsAtResourceGroup(subscriptionId, resourceGroupName, remediationName, apiVersion, this.client.acceptLanguage(), top, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDeploymentsAtResourceGroupDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listDeploymentsAtResourceGroupDelegate(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); + } + + /** + * Cancels a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @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 RemediationInner object if successful. + */ + public RemediationInner cancelAtResourceGroup(String subscriptionId, String resourceGroupName, String remediationName) { + return cancelAtResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName).toBlocking().single().body(); + } + + /** + * Cancels a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @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 cancelAtResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(cancelAtResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName), serviceCallback); + } + + /** + * Cancels a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable cancelAtResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName) { + return cancelAtResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Cancels a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> cancelAtResourceGroupWithServiceResponseAsync(String subscriptionId, String resourceGroupName, String remediationName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + return service.cancelAtResourceGroup(subscriptionId, resourceGroupName, remediationName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = cancelAtResourceGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse cancelAtResourceGroupDelegate(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 remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group 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 PagedList<RemediationInner> object if successful. + */ + public PagedList listByResourceGroup(final String subscriptionId, final String resourceGroupName) { + ServiceResponse> response = listByResourceGroupSinglePageAsync(subscriptionId, resourceGroupName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group 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> listByResourceGroupAsync(final String subscriptionId, final String resourceGroupName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listByResourceGroupSinglePageAsync(subscriptionId, resourceGroupName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable> listByResourceGroupAsync(final String subscriptionId, final String resourceGroupName) { + return listByResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable>> listByResourceGroupWithServiceResponseAsync(final String subscriptionId, final String resourceGroupName) { + return listByResourceGroupSinglePageAsync(subscriptionId, 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 remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listByResourceGroupSinglePageAsync(final String subscriptionId, final String resourceGroupName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String filter = null; + return service.listByResourceGroup(subscriptionId, resourceGroupName, apiVersion, this.client.acceptLanguage(), top, filter, 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); + } + } + }); + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the 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<RemediationInner> object if successful. + */ + public PagedList listByResourceGroup(final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions) { + ServiceResponse> response = listByResourceGroupSinglePageAsync(subscriptionId, resourceGroupName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @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 subscriptionId, final String resourceGroupName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listByResourceGroupSinglePageAsync(subscriptionId, resourceGroupName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listByResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable> listByResourceGroupAsync(final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions) { + return listByResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all remediations for the subscription. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable>> listByResourceGroupWithServiceResponseAsync(final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions) { + return listByResourceGroupSinglePageAsync(subscriptionId, resourceGroupName, queryOptions) + .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 remediations for the subscription. + * + ServiceResponse> * @param subscriptionId Microsoft Azure subscription ID. + ServiceResponse> * @param resourceGroupName Resource group name. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listByResourceGroupSinglePageAsync(final String subscriptionId, final String resourceGroupName, final QueryOptions queryOptions) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String apiVersion = "2019-07-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.listByResourceGroup(subscriptionId, resourceGroupName, apiVersion, this.client.acceptLanguage(), top, filter, 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); + } + + /** + * Creates or updates a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @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 RemediationInner object if successful. + */ + public RemediationInner createOrUpdateAtResourceGroup(String subscriptionId, String resourceGroupName, String remediationName, RemediationInner parameters) { + return createOrUpdateAtResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName, parameters).toBlocking().single().body(); + } + + /** + * Creates or updates a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @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 createOrUpdateAtResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName, RemediationInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(createOrUpdateAtResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName, parameters), serviceCallback); + } + + /** + * Creates or updates a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable createOrUpdateAtResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName, RemediationInner parameters) { + return createOrUpdateAtResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName, parameters).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates or updates a remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> createOrUpdateAtResourceGroupWithServiceResponseAsync(String subscriptionId, String resourceGroupName, String remediationName, RemediationInner parameters) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + Validator.validate(parameters); + final String apiVersion = "2019-07-01"; + return service.createOrUpdateAtResourceGroup(subscriptionId, resourceGroupName, remediationName, apiVersion, parameters, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = createOrUpdateAtResourceGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse createOrUpdateAtResourceGroupDelegate(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); + } + + /** + * Gets an existing remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @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 RemediationInner object if successful. + */ + public RemediationInner getByResourceGroup(String subscriptionId, String resourceGroupName, String remediationName) { + return getByResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName).toBlocking().single().body(); + } + + /** + * Gets an existing remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @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 subscriptionId, String resourceGroupName, String remediationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(getByResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName), serviceCallback); + } + + /** + * Gets an existing remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable getByResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName) { + return getByResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Gets an existing remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> getByResourceGroupWithServiceResponseAsync(String subscriptionId, String resourceGroupName, String remediationName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + return service.getByResourceGroup(subscriptionId, resourceGroupName, remediationName, 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 an existing remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @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 RemediationInner object if successful. + */ + public RemediationInner deleteAtResourceGroup(String subscriptionId, String resourceGroupName, String remediationName) { + return deleteAtResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName).toBlocking().single().body(); + } + + /** + * Deletes an existing remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @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 deleteAtResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(deleteAtResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName), serviceCallback); + } + + /** + * Deletes an existing remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable deleteAtResourceGroupAsync(String subscriptionId, String resourceGroupName, String remediationName) { + return deleteAtResourceGroupWithServiceResponseAsync(subscriptionId, resourceGroupName, remediationName).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Deletes an existing remediation at resource group scope. + * + * @param subscriptionId Microsoft Azure subscription ID. + * @param resourceGroupName Resource group name. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> deleteAtResourceGroupWithServiceResponseAsync(String subscriptionId, String resourceGroupName, String remediationName) { + if (subscriptionId == null) { + throw new IllegalArgumentException("Parameter subscriptionId is required and cannot be null."); + } + if (resourceGroupName == null) { + throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + return service.deleteAtResourceGroup(subscriptionId, resourceGroupName, remediationName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = deleteAtResourceGroupDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse deleteAtResourceGroupDelegate(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); + } + + /** + * Gets all deployments for a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @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<RemediationDeploymentInner> object if successful. + */ + public PagedList listDeploymentsAtResource(final String resourceId, final String remediationName) { + ServiceResponse> response = listDeploymentsAtResourceSinglePageAsync(resourceId, remediationName).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listDeploymentsAtResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all deployments for a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @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> listDeploymentsAtResourceAsync(final String resourceId, final String remediationName, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listDeploymentsAtResourceSinglePageAsync(resourceId, remediationName), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listDeploymentsAtResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all deployments for a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable> listDeploymentsAtResourceAsync(final String resourceId, final String remediationName) { + return listDeploymentsAtResourceWithServiceResponseAsync(resourceId, remediationName) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all deployments for a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable>> listDeploymentsAtResourceWithServiceResponseAsync(final String resourceId, final String remediationName) { + return listDeploymentsAtResourceSinglePageAsync(resourceId, remediationName) + .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(listDeploymentsAtResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all deployments for a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationDeploymentInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listDeploymentsAtResourceSinglePageAsync(final String resourceId, final String remediationName) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + final QueryOptions queryOptions = null; + Integer top = null; + return service.listDeploymentsAtResource(resourceId, remediationName, apiVersion, this.client.acceptLanguage(), top, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDeploymentsAtResourceDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Gets all deployments for a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the 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<RemediationDeploymentInner> object if successful. + */ + public PagedList listDeploymentsAtResource(final String resourceId, final String remediationName, final QueryOptions queryOptions) { + ServiceResponse> response = listDeploymentsAtResourceSinglePageAsync(resourceId, remediationName, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listDeploymentsAtResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all deployments for a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the operation + * @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> listDeploymentsAtResourceAsync(final String resourceId, final String remediationName, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listDeploymentsAtResourceSinglePageAsync(resourceId, remediationName, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listDeploymentsAtResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all deployments for a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable> listDeploymentsAtResourceAsync(final String resourceId, final String remediationName, final QueryOptions queryOptions) { + return listDeploymentsAtResourceWithServiceResponseAsync(resourceId, remediationName, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all deployments for a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationDeploymentInner> object + */ + public Observable>> listDeploymentsAtResourceWithServiceResponseAsync(final String resourceId, final String remediationName, final QueryOptions queryOptions) { + return listDeploymentsAtResourceSinglePageAsync(resourceId, remediationName, queryOptions) + .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(listDeploymentsAtResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all deployments for a remediation at resource scope. + * + ServiceResponse> * @param resourceId Resource ID. + ServiceResponse> * @param remediationName The name of the remediation. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationDeploymentInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listDeploymentsAtResourceSinglePageAsync(final String resourceId, final String remediationName, final QueryOptions queryOptions) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + Validator.validate(queryOptions); + final String apiVersion = "2019-07-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + return service.listDeploymentsAtResource(resourceId, remediationName, apiVersion, this.client.acceptLanguage(), top, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDeploymentsAtResourceDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listDeploymentsAtResourceDelegate(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); + } + + /** + * Cancel a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @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 RemediationInner object if successful. + */ + public RemediationInner cancelAtResource(String resourceId, String remediationName) { + return cancelAtResourceWithServiceResponseAsync(resourceId, remediationName).toBlocking().single().body(); + } + + /** + * Cancel a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @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 cancelAtResourceAsync(String resourceId, String remediationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(cancelAtResourceWithServiceResponseAsync(resourceId, remediationName), serviceCallback); + } + + /** + * Cancel a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable cancelAtResourceAsync(String resourceId, String remediationName) { + return cancelAtResourceWithServiceResponseAsync(resourceId, remediationName).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Cancel a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> cancelAtResourceWithServiceResponseAsync(String resourceId, String remediationName) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + return service.cancelAtResource(resourceId, remediationName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = cancelAtResourceDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse cancelAtResourceDelegate(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 remediations for a resource. + * + * @param resourceId Resource ID. + * @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<RemediationInner> object if successful. + */ + public PagedList listForResource(final String resourceId) { + ServiceResponse> response = listForResourceSinglePageAsync(resourceId).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listForResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all remediations for a resource. + * + * @param resourceId Resource ID. + * @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> listForResourceAsync(final String resourceId, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listForResourceSinglePageAsync(resourceId), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listForResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all remediations for a resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable> listForResourceAsync(final String resourceId) { + return listForResourceWithServiceResponseAsync(resourceId) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all remediations for a resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable>> listForResourceWithServiceResponseAsync(final String resourceId) { + return listForResourceSinglePageAsync(resourceId) + .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(listForResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all remediations for a resource. + * + * @param resourceId Resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listForResourceSinglePageAsync(final String resourceId) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + final QueryOptions queryOptions = null; + Integer top = null; + String filter = null; + return service.listForResource(resourceId, apiVersion, this.client.acceptLanguage(), top, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listForResourceDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + /** + * Gets all remediations for a resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the 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<RemediationInner> object if successful. + */ + public PagedList listForResource(final String resourceId, final QueryOptions queryOptions) { + ServiceResponse> response = listForResourceSinglePageAsync(resourceId, queryOptions).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listForResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all remediations for a resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @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> listForResourceAsync(final String resourceId, final QueryOptions queryOptions, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listForResourceSinglePageAsync(resourceId, queryOptions), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listForResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all remediations for a resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable> listForResourceAsync(final String resourceId, final QueryOptions queryOptions) { + return listForResourceWithServiceResponseAsync(resourceId, queryOptions) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all remediations for a resource. + * + * @param resourceId Resource ID. + * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the PagedList<RemediationInner> object + */ + public Observable>> listForResourceWithServiceResponseAsync(final String resourceId, final QueryOptions queryOptions) { + return listForResourceSinglePageAsync(resourceId, queryOptions) + .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(listForResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all remediations for a resource. + * + ServiceResponse> * @param resourceId Resource ID. + ServiceResponse> * @param queryOptions Additional parameters for the operation + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listForResourceSinglePageAsync(final String resourceId, final QueryOptions queryOptions) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + Validator.validate(queryOptions); + final String apiVersion = "2019-07-01"; + Integer top = null; + if (queryOptions != null) { + top = queryOptions.top(); + } + String filter = null; + if (queryOptions != null) { + filter = queryOptions.filter(); + } + return service.listForResource(resourceId, apiVersion, this.client.acceptLanguage(), top, filter, this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listForResourceDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listForResourceDelegate(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); + } + + /** + * Creates or updates a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @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 RemediationInner object if successful. + */ + public RemediationInner createOrUpdateAtResource(String resourceId, String remediationName, RemediationInner parameters) { + return createOrUpdateAtResourceWithServiceResponseAsync(resourceId, remediationName, parameters).toBlocking().single().body(); + } + + /** + * Creates or updates a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @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 createOrUpdateAtResourceAsync(String resourceId, String remediationName, RemediationInner parameters, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(createOrUpdateAtResourceWithServiceResponseAsync(resourceId, remediationName, parameters), serviceCallback); + } + + /** + * Creates or updates a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable createOrUpdateAtResourceAsync(String resourceId, String remediationName, RemediationInner parameters) { + return createOrUpdateAtResourceWithServiceResponseAsync(resourceId, remediationName, parameters).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Creates or updates a remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @param parameters The remediation parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> createOrUpdateAtResourceWithServiceResponseAsync(String resourceId, String remediationName, RemediationInner parameters) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + if (parameters == null) { + throw new IllegalArgumentException("Parameter parameters is required and cannot be null."); + } + Validator.validate(parameters); + final String apiVersion = "2019-07-01"; + return service.createOrUpdateAtResource(resourceId, remediationName, apiVersion, parameters, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = createOrUpdateAtResourceDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse createOrUpdateAtResourceDelegate(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); + } + + /** + * Gets an existing remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @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 RemediationInner object if successful. + */ + public RemediationInner getAtResource(String resourceId, String remediationName) { + return getAtResourceWithServiceResponseAsync(resourceId, remediationName).toBlocking().single().body(); + } + + /** + * Gets an existing remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @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 getAtResourceAsync(String resourceId, String remediationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(getAtResourceWithServiceResponseAsync(resourceId, remediationName), serviceCallback); + } + + /** + * Gets an existing remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable getAtResourceAsync(String resourceId, String remediationName) { + return getAtResourceWithServiceResponseAsync(resourceId, remediationName).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Gets an existing remediation at resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> getAtResourceWithServiceResponseAsync(String resourceId, String remediationName) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + return service.getAtResource(resourceId, remediationName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = getAtResourceDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse getAtResourceDelegate(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 an existing remediation at individual resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @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 RemediationInner object if successful. + */ + public RemediationInner deleteAtResource(String resourceId, String remediationName) { + return deleteAtResourceWithServiceResponseAsync(resourceId, remediationName).toBlocking().single().body(); + } + + /** + * Deletes an existing remediation at individual resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @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 deleteAtResourceAsync(String resourceId, String remediationName, final ServiceCallback serviceCallback) { + return ServiceFuture.fromResponse(deleteAtResourceWithServiceResponseAsync(resourceId, remediationName), serviceCallback); + } + + /** + * Deletes an existing remediation at individual resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable deleteAtResourceAsync(String resourceId, String remediationName) { + return deleteAtResourceWithServiceResponseAsync(resourceId, remediationName).map(new Func1, RemediationInner>() { + @Override + public RemediationInner call(ServiceResponse response) { + return response.body(); + } + }); + } + + /** + * Deletes an existing remediation at individual resource scope. + * + * @param resourceId Resource ID. + * @param remediationName The name of the remediation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the observable to the RemediationInner object + */ + public Observable> deleteAtResourceWithServiceResponseAsync(String resourceId, String remediationName) { + if (resourceId == null) { + throw new IllegalArgumentException("Parameter resourceId is required and cannot be null."); + } + if (remediationName == null) { + throw new IllegalArgumentException("Parameter remediationName is required and cannot be null."); + } + final String apiVersion = "2019-07-01"; + return service.deleteAtResource(resourceId, remediationName, apiVersion, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>() { + @Override + public Observable> call(Response response) { + try { + ServiceResponse clientResponse = deleteAtResourceDelegate(response); + return Observable.just(clientResponse); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse deleteAtResourceDelegate(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); + } + + /** + * Gets all deployments for a remediation at management group scope. + * + * @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<RemediationDeploymentInner> object if successful. + */ + public PagedList listDeploymentsAtManagementGroupNext(final String nextPageLink) { + ServiceResponse> response = listDeploymentsAtManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listDeploymentsAtManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all deployments for a remediation at management group scope. + * + * @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> listDeploymentsAtManagementGroupNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listDeploymentsAtManagementGroupNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listDeploymentsAtManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all deployments for a remediation at management group scope. + * + * @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<RemediationDeploymentInner> object + */ + public Observable> listDeploymentsAtManagementGroupNextAsync(final String nextPageLink) { + return listDeploymentsAtManagementGroupNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all deployments for a remediation at management group scope. + * + * @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<RemediationDeploymentInner> object + */ + public Observable>> listDeploymentsAtManagementGroupNextWithServiceResponseAsync(final String nextPageLink) { + return listDeploymentsAtManagementGroupNextSinglePageAsync(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(listDeploymentsAtManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all deployments for a remediation at management group scope. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationDeploymentInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listDeploymentsAtManagementGroupNextSinglePageAsync(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.listDeploymentsAtManagementGroupNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDeploymentsAtManagementGroupNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listDeploymentsAtManagementGroupNextDelegate(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 remediations for the management 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<RemediationInner> object if successful. + */ + public PagedList listForManagementGroupNext(final String nextPageLink) { + ServiceResponse> response = listForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listForManagementGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all remediations for the management 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> listForManagementGroupNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listForManagementGroupNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listForManagementGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all remediations for the management 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<RemediationInner> object + */ + public Observable> listForManagementGroupNextAsync(final String nextPageLink) { + return listForManagementGroupNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all remediations for the management 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<RemediationInner> object + */ + public Observable>> listForManagementGroupNextWithServiceResponseAsync(final String nextPageLink) { + return listForManagementGroupNextSinglePageAsync(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(listForManagementGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all remediations for the management 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<RemediationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listForManagementGroupNextSinglePageAsync(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.listForManagementGroupNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listForManagementGroupNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listForManagementGroupNextDelegate(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 deployments for a remediation at subscription scope. + * + * @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<RemediationDeploymentInner> object if successful. + */ + public PagedList listDeploymentsAtSubscriptionNext(final String nextPageLink) { + ServiceResponse> response = listDeploymentsAtSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listDeploymentsAtSubscriptionNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + * @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> listDeploymentsAtSubscriptionNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listDeploymentsAtSubscriptionNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listDeploymentsAtSubscriptionNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + * @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<RemediationDeploymentInner> object + */ + public Observable> listDeploymentsAtSubscriptionNextAsync(final String nextPageLink) { + return listDeploymentsAtSubscriptionNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + * @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<RemediationDeploymentInner> object + */ + public Observable>> listDeploymentsAtSubscriptionNextWithServiceResponseAsync(final String nextPageLink) { + return listDeploymentsAtSubscriptionNextSinglePageAsync(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(listDeploymentsAtSubscriptionNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all deployments for a remediation at subscription scope. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationDeploymentInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listDeploymentsAtSubscriptionNextSinglePageAsync(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.listDeploymentsAtSubscriptionNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDeploymentsAtSubscriptionNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listDeploymentsAtSubscriptionNextDelegate(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 remediations for the 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<RemediationInner> 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 remediations for the 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 remediations for the 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<RemediationInner> 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 remediations for the 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<RemediationInner> 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 remediations for the 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<RemediationInner> 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); + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @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<RemediationDeploymentInner> object if successful. + */ + public PagedList listDeploymentsAtResourceGroupNext(final String nextPageLink) { + ServiceResponse> response = listDeploymentsAtResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listDeploymentsAtResourceGroupNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @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> listDeploymentsAtResourceGroupNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listDeploymentsAtResourceGroupNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listDeploymentsAtResourceGroupNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @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<RemediationDeploymentInner> object + */ + public Observable> listDeploymentsAtResourceGroupNextAsync(final String nextPageLink) { + return listDeploymentsAtResourceGroupNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + * @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<RemediationDeploymentInner> object + */ + public Observable>> listDeploymentsAtResourceGroupNextWithServiceResponseAsync(final String nextPageLink) { + return listDeploymentsAtResourceGroupNextSinglePageAsync(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(listDeploymentsAtResourceGroupNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all deployments for a remediation at resource group scope. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationDeploymentInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listDeploymentsAtResourceGroupNextSinglePageAsync(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.listDeploymentsAtResourceGroupNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDeploymentsAtResourceGroupNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listDeploymentsAtResourceGroupNextDelegate(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 remediations for the 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<RemediationInner> 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 remediations for the 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> 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 remediations for the 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<RemediationInner> 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 remediations for the 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<RemediationInner> 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 remediations for the 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<RemediationInner> 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 deployments for a remediation at resource scope. + * + * @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<RemediationDeploymentInner> object if successful. + */ + public PagedList listDeploymentsAtResourceNext(final String nextPageLink) { + ServiceResponse> response = listDeploymentsAtResourceNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listDeploymentsAtResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all deployments for a remediation at resource scope. + * + * @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> listDeploymentsAtResourceNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listDeploymentsAtResourceNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listDeploymentsAtResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all deployments for a remediation at resource scope. + * + * @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<RemediationDeploymentInner> object + */ + public Observable> listDeploymentsAtResourceNextAsync(final String nextPageLink) { + return listDeploymentsAtResourceNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all deployments for a remediation at resource scope. + * + * @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<RemediationDeploymentInner> object + */ + public Observable>> listDeploymentsAtResourceNextWithServiceResponseAsync(final String nextPageLink) { + return listDeploymentsAtResourceNextSinglePageAsync(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(listDeploymentsAtResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all deployments for a remediation at resource scope. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationDeploymentInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listDeploymentsAtResourceNextSinglePageAsync(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.listDeploymentsAtResourceNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listDeploymentsAtResourceNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listDeploymentsAtResourceNextDelegate(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 remediations for a resource. + * + * @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<RemediationInner> object if successful. + */ + public PagedList listForResourceNext(final String nextPageLink) { + ServiceResponse> response = listForResourceNextSinglePageAsync(nextPageLink).toBlocking().single(); + return new PagedList(response.body()) { + @Override + public Page nextPage(String nextPageLink) { + return listForResourceNextSinglePageAsync(nextPageLink).toBlocking().single().body(); + } + }; + } + + /** + * Gets all remediations for a resource. + * + * @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> listForResourceNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) { + return AzureServiceFuture.fromPageResponse( + listForResourceNextSinglePageAsync(nextPageLink), + new Func1>>>() { + @Override + public Observable>> call(String nextPageLink) { + return listForResourceNextSinglePageAsync(nextPageLink); + } + }, + serviceCallback); + } + + /** + * Gets all remediations for a resource. + * + * @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<RemediationInner> object + */ + public Observable> listForResourceNextAsync(final String nextPageLink) { + return listForResourceNextWithServiceResponseAsync(nextPageLink) + .map(new Func1>, Page>() { + @Override + public Page call(ServiceResponse> response) { + return response.body(); + } + }); + } + + /** + * Gets all remediations for a resource. + * + * @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<RemediationInner> object + */ + public Observable>> listForResourceNextWithServiceResponseAsync(final String nextPageLink) { + return listForResourceNextSinglePageAsync(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(listForResourceNextWithServiceResponseAsync(nextPageLink)); + } + }); + } + + /** + * Gets all remediations for a resource. + * + ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @throws IllegalArgumentException thrown if parameters fail the validation + * @return the PagedList<RemediationInner> object wrapped in {@link ServiceResponse} if successful. + */ + public Observable>> listForResourceNextSinglePageAsync(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.listForResourceNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent()) + .flatMap(new Func1, Observable>>>() { + @Override + public Observable>> call(Response response) { + try { + ServiceResponse> result = listForResourceNextDelegate(response); + return Observable.just(new ServiceResponse>(result.body(), result.response())); + } catch (Throwable t) { + return Observable.error(t); + } + } + }); + } + + private ServiceResponse> listForResourceNextDelegate(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/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/SlimPolicyMetadataImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/SlimPolicyMetadataImpl.java new file mode 100644 index 000000000000..93ef0a30cd5b --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/SlimPolicyMetadataImpl.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.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.SlimPolicyMetadata; +import com.microsoft.azure.arm.model.implementation.WrapperImpl; + +class SlimPolicyMetadataImpl extends WrapperImpl implements SlimPolicyMetadata { + private final PolicyInsightsManager manager; + SlimPolicyMetadataImpl(SlimPolicyMetadataInner inner, PolicyInsightsManager manager) { + super(inner); + this.manager = manager; + } + + @Override + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public String additionalContentUrl() { + return this.inner().additionalContentUrl(); + } + + @Override + public String category() { + return this.inner().category(); + } + + @Override + public String id() { + return this.inner().id(); + } + + @Override + public Object metadata() { + return this.inner().metadata(); + } + + @Override + public String metadataId() { + return this.inner().metadataId(); + } + + @Override + public String name() { + return this.inner().name(); + } + + @Override + public String owner() { + return this.inner().owner(); + } + + @Override + public String title() { + return this.inner().title(); + } + + @Override + public String type() { + return this.inner().type(); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/SlimPolicyMetadataInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/SlimPolicyMetadataInner.java new file mode 100644 index 000000000000..b678ae4f7e62 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/SlimPolicyMetadataInner.java @@ -0,0 +1,155 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.microsoft.rest.serializer.JsonFlatten; + +/** + * Slim version of policy metadata resource definition, excluding properties + * with large strings. + */ +@JsonFlatten +public class SlimPolicyMetadataInner { + /** + * The policy metadata identifier. + */ + @JsonProperty(value = "properties.metadataId", access = JsonProperty.Access.WRITE_ONLY) + private String metadataId; + + /** + * The category of the policy metadata. + */ + @JsonProperty(value = "properties.category", access = JsonProperty.Access.WRITE_ONLY) + private String category; + + /** + * The title of the policy metadata. + */ + @JsonProperty(value = "properties.title", access = JsonProperty.Access.WRITE_ONLY) + private String title; + + /** + * The owner of the policy metadata. + */ + @JsonProperty(value = "properties.owner", access = JsonProperty.Access.WRITE_ONLY) + private String owner; + + /** + * Url for getting additional content about the resource metadata. + */ + @JsonProperty(value = "properties.additionalContentUrl", access = JsonProperty.Access.WRITE_ONLY) + private String additionalContentUrl; + + /** + * Additional metadata. + */ + @JsonProperty(value = "properties.metadata", access = JsonProperty.Access.WRITE_ONLY) + private Object metadata; + + /** + * The ID of the policy metadata. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /** + * The type of the policy metadata. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /** + * The name of the policy metadata. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /** + * Get the policy metadata identifier. + * + * @return the metadataId value + */ + public String metadataId() { + return this.metadataId; + } + + /** + * Get the category of the policy metadata. + * + * @return the category value + */ + public String category() { + return this.category; + } + + /** + * Get the title of the policy metadata. + * + * @return the title value + */ + public String title() { + return this.title; + } + + /** + * Get the owner of the policy metadata. + * + * @return the owner value + */ + public String owner() { + return this.owner; + } + + /** + * Get url for getting additional content about the resource metadata. + * + * @return the additionalContentUrl value + */ + public String additionalContentUrl() { + return this.additionalContentUrl; + } + + /** + * Get additional metadata. + * + * @return the metadata value + */ + public Object metadata() { + return this.metadata; + } + + /** + * Get the ID of the policy metadata. + * + * @return the id value + */ + public String id() { + return this.id; + } + + /** + * Get the type of the policy metadata. + * + * @return the type value + */ + public String type() { + return this.type; + } + + /** + * Get the name of the policy metadata. + * + * @return the name value + */ + public String name() { + return this.name; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/SummarizeResultsImpl.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/SummarizeResultsImpl.java new file mode 100644 index 000000000000..d0c55fee5576 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/SummarizeResultsImpl.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.policyinsights.v2020_07_01.implementation; + +import com.microsoft.azure.management.policyinsights.v2020_07_01.SummarizeResults; +import com.microsoft.azure.arm.model.implementation.WrapperImpl; +import java.util.List; +import com.microsoft.azure.management.policyinsights.v2020_07_01.Summary; + +class SummarizeResultsImpl extends WrapperImpl implements SummarizeResults { + private final PolicyInsightsManager manager; + SummarizeResultsImpl(SummarizeResultsInner inner, PolicyInsightsManager manager) { + super(inner); + this.manager = manager; + } + + @Override + public PolicyInsightsManager manager() { + return this.manager; + } + + @Override + public String odatacontext() { + return this.inner().odatacontext(); + } + + @Override + public Integer odatacount() { + return this.inner().odatacount(); + } + + @Override + public List value() { + return this.inner().value(); + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/SummarizeResultsInner.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/SummarizeResultsInner.java new file mode 100644 index 000000000000..c521e1898a54 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/SummarizeResultsInner.java @@ -0,0 +1,99 @@ +/** + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + */ + +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; + +import java.util.List; +import com.microsoft.azure.management.policyinsights.v2020_07_01.Summary; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Summarize action results. + */ +public class SummarizeResultsInner { + /** + * OData context string; used by OData clients to resolve type information + * based on metadata. + */ + @JsonProperty(value = "@odata\\.context") + private String odatacontext; + + /** + * OData entity count; represents the number of summaries returned; always + * set to 1. + */ + @JsonProperty(value = "@odata\\.count") + private Integer odatacount; + + /** + * Summarize action results. + */ + @JsonProperty(value = "value") + private List value; + + /** + * Get oData context string; used by OData clients to resolve type information based on metadata. + * + * @return the odatacontext value + */ + public String odatacontext() { + return this.odatacontext; + } + + /** + * Set oData context string; used by OData clients to resolve type information based on metadata. + * + * @param odatacontext the odatacontext value to set + * @return the SummarizeResultsInner object itself. + */ + public SummarizeResultsInner withOdatacontext(String odatacontext) { + this.odatacontext = odatacontext; + return this; + } + + /** + * Get oData entity count; represents the number of summaries returned; always set to 1. + * + * @return the odatacount value + */ + public Integer odatacount() { + return this.odatacount; + } + + /** + * Set oData entity count; represents the number of summaries returned; always set to 1. + * + * @param odatacount the odatacount value to set + * @return the SummarizeResultsInner object itself. + */ + public SummarizeResultsInner withOdatacount(Integer odatacount) { + this.odatacount = odatacount; + return this; + } + + /** + * Get summarize action results. + * + * @return the value value + */ + public List value() { + return this.value; + } + + /** + * Set summarize action results. + * + * @param value the value value to set + * @return the SummarizeResultsInner object itself. + */ + public SummarizeResultsInner withValue(List value) { + this.value = value; + return this; + } + +} diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/package-info.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/package-info.java new file mode 100644 index 000000000000..22984b1436b8 --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/implementation/package-info.java @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights 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 PolicyInsightsClient. + */ +package com.microsoft.azure.management.policyinsights.v2020_07_01.implementation; diff --git a/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/package-info.java b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/package-info.java new file mode 100644 index 000000000000..90e6c9ed125f --- /dev/null +++ b/sdk/policyinsights/mgmt-v2020_07_01/src/main/java/com/microsoft/azure/management/policyinsights/v2020_07_01/package-info.java @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights 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 PolicyInsightsClient. + */ +package com.microsoft.azure.management.policyinsights.v2020_07_01;