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

com.microsoft.azure.management.network.model.HasPublicIPAddress Maven / Gradle / Ivy

Go to download

This package contains Microsoft Azure Network Management SDK. A new set of management libraries are now Generally Available. For documentation on how to use the new libraries, please see https://aka.ms/azsdk/java/mgmt

There is a newer version: 1.41.4
Show newest version
/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See License.txt in the project root for
 * license information.
 */
package com.microsoft.azure.management.network.model;

import com.microsoft.azure.management.apigeneration.Fluent;
import com.microsoft.azure.management.apigeneration.Method;
import com.microsoft.azure.management.network.PublicIPAddress;
import com.microsoft.azure.management.resources.fluentcore.model.Creatable;

/**
 * An interface representing a model's ability to reference a public IP address.
 */
@Fluent
public interface HasPublicIPAddress  {
    /**
     * @return the resource ID of the associated public IP address
     */
    String publicIPAddressId();

    /**
     * @return the associated public IP address
     */
    PublicIPAddress getPublicIPAddress();

    /**
     * Grouping of definition stages involving specifying the public IP address.
     */
    interface DefinitionStages {
        /**
         * The stage of the definition allowing to associate the resource with an existing public IP address.
         *
         * @param  the next stage of the definition
         */
        interface WithExistingPublicIPAddress {
            /**
             * Associates an existing public IP address with the resource.
             *
             * @param publicIPAddress an existing public IP address
             * @return the next stage of the definition
             */
            ReturnT withExistingPublicIPAddress(PublicIPAddress publicIPAddress);

            /**
             * Associates an existing public IP address with the resource.
             *
             * @param resourceId the resource ID of an existing public IP address
             * @return the next stage of the definition
             */
            ReturnT withExistingPublicIPAddress(String resourceId);
        }

        /**
         * The stage of the definition allowing to associate the resource with a new public IP address.
         *
         * @param  the next stage of the definition
         */
        interface WithNewPublicIPAddressNoDnsLabel {
            /**
             * Creates a new public IP address to associate with the resource.
             *
             * @param creatable a creatable definition for a new public IP
             * @return the next stage of the definition
             */
            ReturnT withNewPublicIPAddress(Creatable creatable);

            /**
             * Creates a new public IP address in the same region and group as the resource and associates it with the resource.
             * 

* The internal name and DNS label for the public IP address will be derived from the resource's name. * * @return the next stage of the definition */ ReturnT withNewPublicIPAddress(); } /** * The stage of the definition allowing to associate the resource with a new public IP address. * * @param the next stage of the definition */ interface WithNewPublicIPAddress extends WithNewPublicIPAddressNoDnsLabel { /** * Creates a new public IP address in the same region and group as the resource, with the specified DNS label * and associates it with the resource. *

* The internal name for the public IP address will be derived from the DNS label. * * @param leafDnsLabel the leaf domain label * @return the next stage of the definition */ ReturnT withNewPublicIPAddress(String leafDnsLabel); } /** * The stage of the definition allowing to associate the resource with a public IP address, * but not allowing to create one with a DNS leaf label. * * @param the next stage of the definition */ interface WithPublicIPAddressNoDnsLabel extends WithExistingPublicIPAddress, WithNewPublicIPAddressNoDnsLabel { } /** * The stage of the definition allowing to associate the resource with a public IP address. * * @param the next stage of the definition */ interface WithPublicIPAddress extends WithExistingPublicIPAddress, WithNewPublicIPAddress { } } /** * Grouping of update stages involving modifying an existing reference to a public IP address. */ interface UpdateStages { /** * The stage of the update allowing to associate the resource with an existing public IP address. * * @param the next stage of the update */ interface WithExistingPublicIPAddress { /** * Associates an existing public IP address with the resource. * * @param publicIPAddress an existing public IP address * @return the next stage of the update */ ReturnT withExistingPublicIPAddress(PublicIPAddress publicIPAddress); /** * Associates an existing public IP address with the resource. * * @param resourceId the resource ID of an existing public IP address * @return the next stage of the definition */ ReturnT withExistingPublicIPAddress(String resourceId); /** * Removes the existing reference to a public IP address. * * @return the next stage of the update. */ @Method ReturnT withoutPublicIPAddress(); } /** * The stage of the update allowing to associate the resource with a new public IP address. * * @param the next stage of the definition */ interface WithNewPublicIPAddressNoDnsLabel { /** * Creates a new public IP address to associate with the resource. * * @param creatable a creatable definition for a new public IP * @return the next stage of the definition */ ReturnT withNewPublicIPAddress(Creatable creatable); /** * Creates a new public IP address in the same region and group as the resource and associates it with the resource. *

* The internal name and DNS label for the public IP address will be derived from the resource's name. * * @return the next stage of the definition */ ReturnT withNewPublicIPAddress(); } /** * The stage of the update allowing to associate the resource with a new public IP address. * * @param the next stage of the definition */ interface WithNewPublicIPAddress extends WithNewPublicIPAddressNoDnsLabel { /** * Creates a new public IP address in the same region and group as the resource, with the specified DNS label * and associates it with the resource. *

* The internal name for the public IP address will be derived from the DNS label. * * @param leafDnsLabel the leaf domain label * @return the next stage of the definition */ ReturnT withNewPublicIPAddress(String leafDnsLabel); } /** * The stage of the update allowing to associate the resource with a public IP address, * but not allowing to create one with a DNS leaf label. * * @param the next stage of the definition */ interface WithPublicIPAddressNoDnsLabel extends WithExistingPublicIPAddress, WithNewPublicIPAddressNoDnsLabel { } /** * The stage definition allowing to associate the resource with a public IP address. * * @param the next stage of the update */ interface WithPublicIPAddress extends WithExistingPublicIPAddress, WithNewPublicIPAddress { } } /** * Grouping of definition stages applicable as part of a parent resource update, involving specifying a public IP address. */ interface UpdateDefinitionStages { /** * The stage of the definition allowing to associate the resource with an existing public IP address. * * @param the next stage of the definition */ interface WithExistingPublicIPAddress { /** * Associates an existing public IP address with the resource. * * @param publicIPAddress an existing public IP address * @return the next stage of the definition */ ReturnT withExistingPublicIPAddress(PublicIPAddress publicIPAddress); /** * Associates an existing public IP address with the resource. * * @param resourceId the resource ID of an existing public IP address * @return the next stage of the definition */ ReturnT withExistingPublicIPAddress(String resourceId); } /** * The stage of the definition allowing to associate the resource with a new public IP address. * * @param the next stage of the definition */ interface WithNewPublicIPAddressNoDnsLabel { /** * Creates a new public IP address to associate with the resource. * * @param creatable a creatable definition for a new public IP * @return the next stage of the definition */ ReturnT withNewPublicIPAddress(Creatable creatable); /** * Creates a new public IP address in the same region and group as the resource and associates it with the resource. *

* The internal name and DNS label for the public IP address will be derived from the resource's name. * * @return the next stage of the definition */ ReturnT withNewPublicIPAddress(); } /** * The stage of the definition allowing to associate the resource with a public IP address, * but not allowing to create one with a DNS leaf label. * * @param the next stage of the definition */ interface WithPublicIPAddressNoDnsLabel extends WithExistingPublicIPAddress, WithNewPublicIPAddressNoDnsLabel { } /** * The stage of the definition allowing to associate the resource with a new public IP address. * * @param the next stage of the definition */ interface WithNewPublicIPAddress extends WithNewPublicIPAddressNoDnsLabel { /** * Creates a new public IP address in the same region and group as the resource, with the specified DNS label * and associates it with the resource. *

* The internal name for the public IP address will be derived from the DNS label. * * @param leafDnsLabel the leaf domain label * @return the next stage of the definition */ ReturnT withNewPublicIPAddress(String leafDnsLabel); } /** * The stage of the definition allowing to associate the resource with a public IP address. * * @param the next stage of the definition */ interface WithPublicIPAddress extends WithExistingPublicIPAddress, WithNewPublicIPAddress { } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy