Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.extendedlocation.ResourceSyncRuleArgs Maven / Gradle / Ivy
Go to download
A native Pulumi package for creating and managing Azure resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azurenative.extendedlocation;
import com.pulumi.azurenative.extendedlocation.inputs.ResourceSyncRulePropertiesSelectorArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class ResourceSyncRuleArgs extends com.pulumi.resources.ResourceArgs {
public static final ResourceSyncRuleArgs Empty = new ResourceSyncRuleArgs();
/**
* Resource Sync Rule name.
*
*/
@Import(name="childResourceName")
private @Nullable Output childResourceName;
/**
* @return Resource Sync Rule name.
*
*/
public Optional> childResourceName() {
return Optional.ofNullable(this.childResourceName);
}
/**
* The geo-location where the resource lives
*
*/
@Import(name="location")
private @Nullable Output location;
/**
* @return The geo-location where the resource lives
*
*/
public Optional> location() {
return Optional.ofNullable(this.location);
}
/**
* Priority represents a priority of the Resource Sync Rule
*
*/
@Import(name="priority")
private @Nullable Output priority;
/**
* @return Priority represents a priority of the Resource Sync Rule
*
*/
public Optional> priority() {
return Optional.ofNullable(this.priority);
}
/**
* The name of the resource group. The name is case insensitive.
*
*/
@Import(name="resourceGroupName", required=true)
private Output resourceGroupName;
/**
* @return The name of the resource group. The name is case insensitive.
*
*/
public Output resourceGroupName() {
return this.resourceGroupName;
}
/**
* Custom Locations name.
*
*/
@Import(name="resourceName", required=true)
private Output resourceName;
/**
* @return Custom Locations name.
*
*/
public Output resourceName() {
return this.resourceName;
}
/**
* A label selector is composed of two parts, matchLabels and matchExpressions. The first part, matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'. The second part, matchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist. All of the requirements, from both matchLabels and matchExpressions must all be satisfied in order to match.
*
*/
@Import(name="selector")
private @Nullable Output selector;
/**
* @return A label selector is composed of two parts, matchLabels and matchExpressions. The first part, matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'. The second part, matchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist. All of the requirements, from both matchLabels and matchExpressions must all be satisfied in order to match.
*
*/
public Optional> selector() {
return Optional.ofNullable(this.selector);
}
/**
* Resource tags.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return Resource tags.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* For an unmapped custom resource, its labels will be used to find matching resource sync rules. If this resource sync rule is one of the matching rules with highest priority, then the unmapped custom resource will be projected to the target resource group associated with this resource sync rule. The user creating this resource sync rule should have write permissions on the target resource group and this write permission will be validated when creating the resource sync rule.
*
*/
@Import(name="targetResourceGroup")
private @Nullable Output targetResourceGroup;
/**
* @return For an unmapped custom resource, its labels will be used to find matching resource sync rules. If this resource sync rule is one of the matching rules with highest priority, then the unmapped custom resource will be projected to the target resource group associated with this resource sync rule. The user creating this resource sync rule should have write permissions on the target resource group and this write permission will be validated when creating the resource sync rule.
*
*/
public Optional> targetResourceGroup() {
return Optional.ofNullable(this.targetResourceGroup);
}
private ResourceSyncRuleArgs() {}
private ResourceSyncRuleArgs(ResourceSyncRuleArgs $) {
this.childResourceName = $.childResourceName;
this.location = $.location;
this.priority = $.priority;
this.resourceGroupName = $.resourceGroupName;
this.resourceName = $.resourceName;
this.selector = $.selector;
this.tags = $.tags;
this.targetResourceGroup = $.targetResourceGroup;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ResourceSyncRuleArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ResourceSyncRuleArgs $;
public Builder() {
$ = new ResourceSyncRuleArgs();
}
public Builder(ResourceSyncRuleArgs defaults) {
$ = new ResourceSyncRuleArgs(Objects.requireNonNull(defaults));
}
/**
* @param childResourceName Resource Sync Rule name.
*
* @return builder
*
*/
public Builder childResourceName(@Nullable Output childResourceName) {
$.childResourceName = childResourceName;
return this;
}
/**
* @param childResourceName Resource Sync Rule name.
*
* @return builder
*
*/
public Builder childResourceName(String childResourceName) {
return childResourceName(Output.of(childResourceName));
}
/**
* @param location The geo-location where the resource lives
*
* @return builder
*
*/
public Builder location(@Nullable Output location) {
$.location = location;
return this;
}
/**
* @param location The geo-location where the resource lives
*
* @return builder
*
*/
public Builder location(String location) {
return location(Output.of(location));
}
/**
* @param priority Priority represents a priority of the Resource Sync Rule
*
* @return builder
*
*/
public Builder priority(@Nullable Output priority) {
$.priority = priority;
return this;
}
/**
* @param priority Priority represents a priority of the Resource Sync Rule
*
* @return builder
*
*/
public Builder priority(Integer priority) {
return priority(Output.of(priority));
}
/**
* @param resourceGroupName The name of the resource group. The name is case insensitive.
*
* @return builder
*
*/
public Builder resourceGroupName(Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The name of the resource group. The name is case insensitive.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param resourceName Custom Locations name.
*
* @return builder
*
*/
public Builder resourceName(Output resourceName) {
$.resourceName = resourceName;
return this;
}
/**
* @param resourceName Custom Locations name.
*
* @return builder
*
*/
public Builder resourceName(String resourceName) {
return resourceName(Output.of(resourceName));
}
/**
* @param selector A label selector is composed of two parts, matchLabels and matchExpressions. The first part, matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'. The second part, matchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist. All of the requirements, from both matchLabels and matchExpressions must all be satisfied in order to match.
*
* @return builder
*
*/
public Builder selector(@Nullable Output selector) {
$.selector = selector;
return this;
}
/**
* @param selector A label selector is composed of two parts, matchLabels and matchExpressions. The first part, matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'. The second part, matchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist. All of the requirements, from both matchLabels and matchExpressions must all be satisfied in order to match.
*
* @return builder
*
*/
public Builder selector(ResourceSyncRulePropertiesSelectorArgs selector) {
return selector(Output.of(selector));
}
/**
* @param tags Resource tags.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags Resource tags.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param targetResourceGroup For an unmapped custom resource, its labels will be used to find matching resource sync rules. If this resource sync rule is one of the matching rules with highest priority, then the unmapped custom resource will be projected to the target resource group associated with this resource sync rule. The user creating this resource sync rule should have write permissions on the target resource group and this write permission will be validated when creating the resource sync rule.
*
* @return builder
*
*/
public Builder targetResourceGroup(@Nullable Output targetResourceGroup) {
$.targetResourceGroup = targetResourceGroup;
return this;
}
/**
* @param targetResourceGroup For an unmapped custom resource, its labels will be used to find matching resource sync rules. If this resource sync rule is one of the matching rules with highest priority, then the unmapped custom resource will be projected to the target resource group associated with this resource sync rule. The user creating this resource sync rule should have write permissions on the target resource group and this write permission will be validated when creating the resource sync rule.
*
* @return builder
*
*/
public Builder targetResourceGroup(String targetResourceGroup) {
return targetResourceGroup(Output.of(targetResourceGroup));
}
public ResourceSyncRuleArgs build() {
if ($.resourceGroupName == null) {
throw new MissingRequiredPropertyException("ResourceSyncRuleArgs", "resourceGroupName");
}
if ($.resourceName == null) {
throw new MissingRequiredPropertyException("ResourceSyncRuleArgs", "resourceName");
}
return $;
}
}
}