
com.azure.resourcemanager.resources.models.GenericResources Maven / Gradle / Ivy
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.resourcemanager.resources.models;
import com.azure.core.annotation.Fluent;
import com.azure.resourcemanager.resources.fluentcore.arm.collection.SupportsGettingById;
import com.azure.resourcemanager.resources.fluentcore.arm.collection.SupportsListingByResourceGroup;
import com.azure.resourcemanager.resources.fluentcore.arm.collection.SupportsListingInResourceGroupByTag;
import com.azure.resourcemanager.resources.fluentcore.arm.models.HasManager;
import com.azure.resourcemanager.resources.fluentcore.collection.SupportsCreating;
import com.azure.resourcemanager.resources.fluentcore.collection.SupportsDeletingById;
import com.azure.resourcemanager.resources.fluentcore.collection.SupportsListing;
import com.azure.resourcemanager.resources.ResourceManager;
import com.azure.resourcemanager.resources.fluentcore.model.Accepted;
import reactor.core.publisher.Mono;
import java.util.List;
/**
* Entry point to generic resources management API.
*/
@Fluent
public interface GenericResources
extends SupportsListing, SupportsListingByResourceGroup,
SupportsListingInResourceGroupByTag, SupportsGettingById,
SupportsCreating, SupportsDeletingById, HasManager {
/**
* Deletes a resource from Azure, identifying it by its resource ID.
*
* For consistency across service versions, please use {@link #deleteById(String, String)} instead.
*
* @param id the resource ID of the resource to delete
*/
void deleteById(String id);
/**
* Asynchronously delete a resource from Azure, identifying it by its resource ID.
*
* For consistency across service versions, please use {@link #deleteByIdAsync(String, String)} instead.
*
* @param id the resource ID of the resource to delete
* @return a representation of the deferred computation of this call
*/
Mono deleteByIdAsync(String id);
/**
* Gets the information about a resource from Azure based on the resource id.
*
* For consistency across service versions, please use {@link #getById(String, String)} instead.
*
* @param id the id of the resource.
* @return an immutable representation of the resource
*/
GenericResource getById(String id);
/**
* Gets the information about a resource from Azure based on the resource id.
*
* For consistency across service versions, please use {@link #getByIdAsync(String, String)} instead.
*
* @param id the id of the resource.
* @return a {@link Mono} that emits the found resource asynchronously
*/
Mono getByIdAsync(String id);
/**
* Deletes a resource from Azure, identifying it by its resource ID.
*
* @param id the resource ID of the resource to delete
* @param apiVersion the API version
*/
void deleteById(String id, String apiVersion);
/**
* Asynchronously delete a resource from Azure, identifying it by its resource ID.
*
* @param id the resource ID of the resource to delete
* @param apiVersion the API version
* @return a representation of the deferred computation of this call
*/
Mono deleteByIdAsync(String id, String apiVersion);
/**
* Gets the information about a resource from Azure based on the resource id.
*
* @param id the id of the resource.
* @param apiVersion the API version
* @return an immutable representation of the resource
*/
GenericResource getById(String id, String apiVersion);
/**
* Gets the information about a resource from Azure based on the resource id.
*
* @param id the id of the resource.
* @param apiVersion the API version
* @return a {@link Mono} that emits the found resource asynchronously
*/
Mono getByIdAsync(String id, String apiVersion);
/**
* Checks if a resource exists in a resource group.
*
* @param resourceGroupName the resource group's name
* @param resourceProviderNamespace the resource provider's namespace
* @param parentResourcePath the parent's resource path
* @param resourceType the type of the resource
* @param resourceName the name of the resource
* @param apiVersion the API version
* @return true if the resource exists; false otherwise
*/
boolean checkExistence(String resourceGroupName, String resourceProviderNamespace, String parentResourcePath,
String resourceType, String resourceName, String apiVersion);
/**
* Checks if a resource exists.
*
* For consistency across service versions, please use {@link #checkExistenceById(String, String)} instead.
*
* @param id the ID of the resource.
* @return true if the resource exists; false otherwise
*/
boolean checkExistenceById(String id);
/**
* Checks if a resource exists.
*
* @param id the ID of the resource.
* @param apiVersion the API version
* @return true if the resource exists; false otherwise
*/
boolean checkExistenceById(String id, String apiVersion);
/**
* Returns a resource belonging to a resource group.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param resourceProviderNamespace Resource identity.
* @param parentResourcePath Resource identity.
* @param resourceType Resource identity.
* @param resourceName Resource identity.
* @param apiVersion the API version
* @return the generic resource
*/
GenericResource get(String resourceGroupName, String resourceProviderNamespace, String parentResourcePath,
String resourceType, String resourceName, String apiVersion);
/**
* Returns a resource belonging to a resource group.
*
* @param resourceGroupName the resource group name
* @param providerNamespace the provider namespace
* @param resourceType the resource type
* @param resourceName the name of the resource
* @return the generic resource
*/
GenericResource get(String resourceGroupName, String providerNamespace, String resourceType, String resourceName);
/**
* Validates move resources from one resource group to another.
* If validation fails, {@link com.azure.core.management.exception.ManagementException} is thrown.
*
* @param sourceResourceGroupName Source resource group name
* @param targetResourceGroup target resource group, can be in a different subscription
* @param resourceIds the list of IDs of the resources to move
*/
void validateMoveResources(String sourceResourceGroupName, ResourceGroup targetResourceGroup,
List resourceIds);
/**
* Validates move resources from one resource group to another asynchronously.
* If validation fails, {@link com.azure.core.management.exception.ManagementException} is thrown.
*
* @param sourceResourceGroupName Source resource group name
* @param targetResourceGroup target resource group, can be in a different subscription
* @param resourceIds the list of IDs of the resources to move
* @return a representation of the deferred computation of this call
*/
Mono validateMoveResourcesAsync(String sourceResourceGroupName, ResourceGroup targetResourceGroup,
List resourceIds);
/**
* Move resources from one resource group to another.
*
* @param sourceResourceGroupName Source resource group name
* @param targetResourceGroup target resource group, can be in a different subscription
* @param resourceIds the list of IDs of the resources to move
*/
void moveResources(String sourceResourceGroupName, ResourceGroup targetResourceGroup, List resourceIds);
/**
* Move resources from one resource group to another asynchronously.
*
* @param sourceResourceGroupName Source resource group name
* @param targetResourceGroup target resource group, can be in a different subscription
* @param resourceIds the list of IDs of the resources to move
* @return a representation of the deferred computation of this call
*/
Mono moveResourcesAsync(String sourceResourceGroupName, ResourceGroup targetResourceGroup,
List resourceIds);
/**
* Delete resource and all of its child resources.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param resourceProviderNamespace Resource identity.
* @param parentResourcePath Resource identity.
* @param resourceType Resource identity.
* @param resourceName Resource identity.
* @param apiVersion the API version
*/
void delete(String resourceGroupName, String resourceProviderNamespace, String parentResourcePath,
String resourceType, String resourceName, String apiVersion);
/**
* Delete resource and all of its child resources asynchronously.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param resourceProviderNamespace Resource identity.
* @param parentResourcePath Resource identity.
* @param resourceType Resource identity.
* @param resourceName Resource identity.
* @param apiVersion the API version
* @return a representation of the deferred computation of this call
*/
Mono deleteAsync(String resourceGroupName, String resourceProviderNamespace, String parentResourcePath,
String resourceType, String resourceName, String apiVersion);
/**
* Begins deleting a resource from Azure, identifying it by its resource ID.
*
* For consistency across service versions, please use {@link #beginDeleteById(String, String)} instead.
*
* @param id the resource ID of the resource to delete
* @return the accepted deleting operation
*/
Accepted beginDeleteById(String id);
/**
* Begins deleting a resource from Azure, identifying it by its resource ID.
*
* @param id the resource ID of the resource to delete
* @param apiVersion the API version
* @return the accepted deleting operation
*/
Accepted beginDeleteById(String id, String apiVersion);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy