
com.azure.resourcemanager.eventgrid.models.PermissionBinding Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-resourcemanager-eventgrid Show documentation
Show all versions of azure-resourcemanager-eventgrid Show documentation
This package contains Microsoft Azure SDK for EventGrid Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Azure EventGrid Management Client. Package tag package-2021-10-preview.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.
package com.azure.resourcemanager.eventgrid.models;
import com.azure.core.management.SystemData;
import com.azure.core.util.Context;
import com.azure.resourcemanager.eventgrid.fluent.models.PermissionBindingInner;
/**
* An immutable client-side representation of PermissionBinding.
*/
public interface PermissionBinding {
/**
* Gets the id property: Fully qualified resource Id for the resource.
*
* @return the id value.
*/
String id();
/**
* Gets the name property: The name of the resource.
*
* @return the name value.
*/
String name();
/**
* Gets the type property: The type of the resource.
*
* @return the type value.
*/
String type();
/**
* Gets the systemData property: The system metadata relating to the PermissionBinding resource.
*
* @return the systemData value.
*/
SystemData systemData();
/**
* Gets the description property: Description for the Permission Binding resource.
*
* @return the description value.
*/
String description();
/**
* Gets the topicSpaceName property: The name of the Topic Space resource that the permission is bound to.
* The Topic space needs to be a resource under the same namespace the permission binding is a part of.
*
* @return the topicSpaceName value.
*/
String topicSpaceName();
/**
* Gets the permission property: The allowed permission.
*
* @return the permission value.
*/
PermissionType permission();
/**
* Gets the clientGroupName property: The name of the client group resource that the permission is bound to.
* The client group needs to be a resource under the same namespace the permission binding is a part of.
*
* @return the clientGroupName value.
*/
String clientGroupName();
/**
* Gets the provisioningState property: Provisioning state of the PermissionBinding resource.
*
* @return the provisioningState value.
*/
PermissionBindingProvisioningState provisioningState();
/**
* Gets the name of the resource group.
*
* @return the name of the resource group.
*/
String resourceGroupName();
/**
* Gets the inner com.azure.resourcemanager.eventgrid.fluent.models.PermissionBindingInner object.
*
* @return the inner object.
*/
PermissionBindingInner innerModel();
/**
* The entirety of the PermissionBinding definition.
*/
interface Definition
extends DefinitionStages.Blank, DefinitionStages.WithParentResource, DefinitionStages.WithCreate {
}
/**
* The PermissionBinding definition stages.
*/
interface DefinitionStages {
/**
* The first stage of the PermissionBinding definition.
*/
interface Blank extends WithParentResource {
}
/**
* The stage of the PermissionBinding definition allowing to specify parent resource.
*/
interface WithParentResource {
/**
* Specifies resourceGroupName, namespaceName.
*
* @param resourceGroupName The name of the resource group within the user's subscription.
* @param namespaceName Name of the namespace.
* @return the next definition stage.
*/
WithCreate withExistingNamespace(String resourceGroupName, String namespaceName);
}
/**
* The stage of the PermissionBinding definition which contains all the minimum required properties for the
* resource to be created, but also allows for any other optional properties to be specified.
*/
interface WithCreate extends DefinitionStages.WithDescription, DefinitionStages.WithTopicSpaceName,
DefinitionStages.WithPermission, DefinitionStages.WithClientGroupName {
/**
* Executes the create request.
*
* @return the created resource.
*/
PermissionBinding create();
/**
* Executes the create request.
*
* @param context The context to associate with this operation.
* @return the created resource.
*/
PermissionBinding create(Context context);
}
/**
* The stage of the PermissionBinding definition allowing to specify description.
*/
interface WithDescription {
/**
* Specifies the description property: Description for the Permission Binding resource..
*
* @param description Description for the Permission Binding resource.
* @return the next definition stage.
*/
WithCreate withDescription(String description);
}
/**
* The stage of the PermissionBinding definition allowing to specify topicSpaceName.
*/
interface WithTopicSpaceName {
/**
* Specifies the topicSpaceName property: The name of the Topic Space resource that the permission is bound
* to.
* The Topic space needs to be a resource under the same namespace the permission binding is a part of..
*
* @param topicSpaceName The name of the Topic Space resource that the permission is bound to.
* The Topic space needs to be a resource under the same namespace the permission binding is a part of.
* @return the next definition stage.
*/
WithCreate withTopicSpaceName(String topicSpaceName);
}
/**
* The stage of the PermissionBinding definition allowing to specify permission.
*/
interface WithPermission {
/**
* Specifies the permission property: The allowed permission..
*
* @param permission The allowed permission.
* @return the next definition stage.
*/
WithCreate withPermission(PermissionType permission);
}
/**
* The stage of the PermissionBinding definition allowing to specify clientGroupName.
*/
interface WithClientGroupName {
/**
* Specifies the clientGroupName property: The name of the client group resource that the permission is
* bound to.
* The client group needs to be a resource under the same namespace the permission binding is a part of..
*
* @param clientGroupName The name of the client group resource that the permission is bound to.
* The client group needs to be a resource under the same namespace the permission binding is a part of.
* @return the next definition stage.
*/
WithCreate withClientGroupName(String clientGroupName);
}
}
/**
* Begins update for the PermissionBinding resource.
*
* @return the stage of resource update.
*/
PermissionBinding.Update update();
/**
* The template for PermissionBinding update.
*/
interface Update extends UpdateStages.WithDescription, UpdateStages.WithTopicSpaceName, UpdateStages.WithPermission,
UpdateStages.WithClientGroupName {
/**
* Executes the update request.
*
* @return the updated resource.
*/
PermissionBinding apply();
/**
* Executes the update request.
*
* @param context The context to associate with this operation.
* @return the updated resource.
*/
PermissionBinding apply(Context context);
}
/**
* The PermissionBinding update stages.
*/
interface UpdateStages {
/**
* The stage of the PermissionBinding update allowing to specify description.
*/
interface WithDescription {
/**
* Specifies the description property: Description for the Permission Binding resource..
*
* @param description Description for the Permission Binding resource.
* @return the next definition stage.
*/
Update withDescription(String description);
}
/**
* The stage of the PermissionBinding update allowing to specify topicSpaceName.
*/
interface WithTopicSpaceName {
/**
* Specifies the topicSpaceName property: The name of the Topic Space resource that the permission is bound
* to.
* The Topic space needs to be a resource under the same namespace the permission binding is a part of..
*
* @param topicSpaceName The name of the Topic Space resource that the permission is bound to.
* The Topic space needs to be a resource under the same namespace the permission binding is a part of.
* @return the next definition stage.
*/
Update withTopicSpaceName(String topicSpaceName);
}
/**
* The stage of the PermissionBinding update allowing to specify permission.
*/
interface WithPermission {
/**
* Specifies the permission property: The allowed permission..
*
* @param permission The allowed permission.
* @return the next definition stage.
*/
Update withPermission(PermissionType permission);
}
/**
* The stage of the PermissionBinding update allowing to specify clientGroupName.
*/
interface WithClientGroupName {
/**
* Specifies the clientGroupName property: The name of the client group resource that the permission is
* bound to.
* The client group needs to be a resource under the same namespace the permission binding is a part of..
*
* @param clientGroupName The name of the client group resource that the permission is bound to.
* The client group needs to be a resource under the same namespace the permission binding is a part of.
* @return the next definition stage.
*/
Update withClientGroupName(String clientGroupName);
}
}
/**
* Refreshes the resource to sync with Azure.
*
* @return the refreshed resource.
*/
PermissionBinding refresh();
/**
* Refreshes the resource to sync with Azure.
*
* @param context The context to associate with this operation.
* @return the refreshed resource.
*/
PermissionBinding refresh(Context context);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy