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

com.pulumi.azurenative.extendedlocation.inputs.ResourceSyncRulePropertiesSelectorArgs Maven / Gradle / Ivy

The newest version!
// *** 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.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * 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 final class ResourceSyncRulePropertiesSelectorArgs extends com.pulumi.resources.ResourceArgs {

    public static final ResourceSyncRulePropertiesSelectorArgs Empty = new ResourceSyncRulePropertiesSelectorArgs();

    /**
     * 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'.
     * 
     */
    @Import(name="matchLabels")
    private @Nullable Output> matchLabels;

    /**
     * @return 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'.
     * 
     */
    public Optional>> matchLabels() {
        return Optional.ofNullable(this.matchLabels);
    }

    private ResourceSyncRulePropertiesSelectorArgs() {}

    private ResourceSyncRulePropertiesSelectorArgs(ResourceSyncRulePropertiesSelectorArgs $) {
        this.matchLabels = $.matchLabels;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ResourceSyncRulePropertiesSelectorArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ResourceSyncRulePropertiesSelectorArgs $;

        public Builder() {
            $ = new ResourceSyncRulePropertiesSelectorArgs();
        }

        public Builder(ResourceSyncRulePropertiesSelectorArgs defaults) {
            $ = new ResourceSyncRulePropertiesSelectorArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param matchLabels 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'.
         * 
         * @return builder
         * 
         */
        public Builder matchLabels(@Nullable Output> matchLabels) {
            $.matchLabels = matchLabels;
            return this;
        }

        /**
         * @param matchLabels 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'.
         * 
         * @return builder
         * 
         */
        public Builder matchLabels(Map matchLabels) {
            return matchLabels(Output.of(matchLabels));
        }

        public ResourceSyncRulePropertiesSelectorArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy