All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.azure.resourcemanager.network.models.ApplicationSecurityGroup Maven / Gradle / Ivy

Go to download

This package contains Microsoft Azure Network Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt

There is a newer version: 2.44.0
Show newest version
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.resourcemanager.network.models;

import com.azure.core.annotation.Fluent;
import com.azure.resourcemanager.network.NetworkManager;
import com.azure.resourcemanager.network.fluent.models.ApplicationSecurityGroupInner;
import com.azure.resourcemanager.resources.fluentcore.arm.models.GroupableResource;
import com.azure.resourcemanager.resources.fluentcore.arm.models.Resource;
import com.azure.resourcemanager.resources.fluentcore.model.Appliable;
import com.azure.resourcemanager.resources.fluentcore.model.Creatable;
import com.azure.resourcemanager.resources.fluentcore.model.Refreshable;
import com.azure.resourcemanager.resources.fluentcore.model.Updatable;

/** Application security group. */
@Fluent
public interface ApplicationSecurityGroup
    extends GroupableResource,
        Refreshable,
        Updatable {
    /**
     * @return the resource GUID property of the application security group resource. It uniquely identifies a resource,
     *     even if the user changes its name or migrate the resource across subscriptions or resource groups.
     */
    String resourceGuid();

    /** @return the provisioning state of the application security group resource */
    String provisioningState();

    // Fluent interfaces for creating Application Security Groups

    /** The entirety of the application security group definition. */
    interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithCreate {
    }

    /** Grouping of application security group definition stages. */
    interface DefinitionStages {
        /** The first stage of the definition. */
        interface Blank extends GroupableResource.DefinitionWithRegion {
        }

        /** The stage allowing to specify the resource group. */
        interface WithGroup extends GroupableResource.DefinitionStages.WithGroup {
        }

        /**
         * The stage of the definition which contains all the minimum required inputs for the resource to be created
         * (via {@link WithCreate#create()}), but also allows for any other optional settings to be specified.
         */
        interface WithCreate extends Creatable, Resource.DefinitionWithTags {
        }
    }

    /**
     * The template for an update operation, containing all the settings that can be modified.
     *
     * 

Call {@link Update#apply()} to apply the changes to the resource in Azure. */ interface Update extends Appliable, Resource.UpdateWithTags { } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy