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

com.pulumi.azurenative.providerhub.outputs.ProviderRegistrationResponseProperties Maven / Gradle / Ivy

// *** 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.providerhub.outputs;

import com.pulumi.azurenative.providerhub.outputs.ProviderRegistrationPropertiesResponseProviderHubMetadata;
import com.pulumi.azurenative.providerhub.outputs.ProviderRegistrationPropertiesResponseSubscriptionLifecycleNotificationSpecifications;
import com.pulumi.azurenative.providerhub.outputs.ResourceProviderAuthorizationResponse;
import com.pulumi.azurenative.providerhub.outputs.ResourceProviderCapabilitiesResponse;
import com.pulumi.azurenative.providerhub.outputs.ResourceProviderManifestPropertiesResponseFeaturesRule;
import com.pulumi.azurenative.providerhub.outputs.ResourceProviderManifestPropertiesResponseManagement;
import com.pulumi.azurenative.providerhub.outputs.ResourceProviderManifestPropertiesResponseProviderAuthentication;
import com.pulumi.azurenative.providerhub.outputs.ResourceProviderManifestPropertiesResponseRequestHeaderOptions;
import com.pulumi.azurenative.providerhub.outputs.ResourceProviderManifestPropertiesResponseTemplateDeploymentOptions;
import com.pulumi.core.annotations.CustomType;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ProviderRegistrationResponseProperties {
    private @Nullable List capabilities;
    private @Nullable ResourceProviderManifestPropertiesResponseFeaturesRule featuresRule;
    private @Nullable ResourceProviderManifestPropertiesResponseManagement management;
    private @Nullable Object metadata;
    private @Nullable String namespace;
    private @Nullable ResourceProviderManifestPropertiesResponseProviderAuthentication providerAuthentication;
    private @Nullable List providerAuthorizations;
    private @Nullable ProviderRegistrationPropertiesResponseProviderHubMetadata providerHubMetadata;
    private @Nullable String providerType;
    private @Nullable String providerVersion;
    /**
     * @return The provisioned state of the resource.
     * 
     */
    private @Nullable String provisioningState;
    private @Nullable ResourceProviderManifestPropertiesResponseRequestHeaderOptions requestHeaderOptions;
    private @Nullable List requiredFeatures;
    private @Nullable ProviderRegistrationPropertiesResponseSubscriptionLifecycleNotificationSpecifications subscriptionLifecycleNotificationSpecifications;
    private @Nullable ResourceProviderManifestPropertiesResponseTemplateDeploymentOptions templateDeploymentOptions;

    private ProviderRegistrationResponseProperties() {}
    public List capabilities() {
        return this.capabilities == null ? List.of() : this.capabilities;
    }
    public Optional featuresRule() {
        return Optional.ofNullable(this.featuresRule);
    }
    public Optional management() {
        return Optional.ofNullable(this.management);
    }
    public Optional metadata() {
        return Optional.ofNullable(this.metadata);
    }
    public Optional namespace() {
        return Optional.ofNullable(this.namespace);
    }
    public Optional providerAuthentication() {
        return Optional.ofNullable(this.providerAuthentication);
    }
    public List providerAuthorizations() {
        return this.providerAuthorizations == null ? List.of() : this.providerAuthorizations;
    }
    public Optional providerHubMetadata() {
        return Optional.ofNullable(this.providerHubMetadata);
    }
    public Optional providerType() {
        return Optional.ofNullable(this.providerType);
    }
    public Optional providerVersion() {
        return Optional.ofNullable(this.providerVersion);
    }
    /**
     * @return The provisioned state of the resource.
     * 
     */
    public Optional provisioningState() {
        return Optional.ofNullable(this.provisioningState);
    }
    public Optional requestHeaderOptions() {
        return Optional.ofNullable(this.requestHeaderOptions);
    }
    public List requiredFeatures() {
        return this.requiredFeatures == null ? List.of() : this.requiredFeatures;
    }
    public Optional subscriptionLifecycleNotificationSpecifications() {
        return Optional.ofNullable(this.subscriptionLifecycleNotificationSpecifications);
    }
    public Optional templateDeploymentOptions() {
        return Optional.ofNullable(this.templateDeploymentOptions);
    }

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

    public static Builder builder(ProviderRegistrationResponseProperties defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List capabilities;
        private @Nullable ResourceProviderManifestPropertiesResponseFeaturesRule featuresRule;
        private @Nullable ResourceProviderManifestPropertiesResponseManagement management;
        private @Nullable Object metadata;
        private @Nullable String namespace;
        private @Nullable ResourceProviderManifestPropertiesResponseProviderAuthentication providerAuthentication;
        private @Nullable List providerAuthorizations;
        private @Nullable ProviderRegistrationPropertiesResponseProviderHubMetadata providerHubMetadata;
        private @Nullable String providerType;
        private @Nullable String providerVersion;
        private @Nullable String provisioningState;
        private @Nullable ResourceProviderManifestPropertiesResponseRequestHeaderOptions requestHeaderOptions;
        private @Nullable List requiredFeatures;
        private @Nullable ProviderRegistrationPropertiesResponseSubscriptionLifecycleNotificationSpecifications subscriptionLifecycleNotificationSpecifications;
        private @Nullable ResourceProviderManifestPropertiesResponseTemplateDeploymentOptions templateDeploymentOptions;
        public Builder() {}
        public Builder(ProviderRegistrationResponseProperties defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.capabilities = defaults.capabilities;
    	      this.featuresRule = defaults.featuresRule;
    	      this.management = defaults.management;
    	      this.metadata = defaults.metadata;
    	      this.namespace = defaults.namespace;
    	      this.providerAuthentication = defaults.providerAuthentication;
    	      this.providerAuthorizations = defaults.providerAuthorizations;
    	      this.providerHubMetadata = defaults.providerHubMetadata;
    	      this.providerType = defaults.providerType;
    	      this.providerVersion = defaults.providerVersion;
    	      this.provisioningState = defaults.provisioningState;
    	      this.requestHeaderOptions = defaults.requestHeaderOptions;
    	      this.requiredFeatures = defaults.requiredFeatures;
    	      this.subscriptionLifecycleNotificationSpecifications = defaults.subscriptionLifecycleNotificationSpecifications;
    	      this.templateDeploymentOptions = defaults.templateDeploymentOptions;
        }

        @CustomType.Setter
        public Builder capabilities(@Nullable List capabilities) {

            this.capabilities = capabilities;
            return this;
        }
        public Builder capabilities(ResourceProviderCapabilitiesResponse... capabilities) {
            return capabilities(List.of(capabilities));
        }
        @CustomType.Setter
        public Builder featuresRule(@Nullable ResourceProviderManifestPropertiesResponseFeaturesRule featuresRule) {

            this.featuresRule = featuresRule;
            return this;
        }
        @CustomType.Setter
        public Builder management(@Nullable ResourceProviderManifestPropertiesResponseManagement management) {

            this.management = management;
            return this;
        }
        @CustomType.Setter
        public Builder metadata(@Nullable Object metadata) {

            this.metadata = metadata;
            return this;
        }
        @CustomType.Setter
        public Builder namespace(@Nullable String namespace) {

            this.namespace = namespace;
            return this;
        }
        @CustomType.Setter
        public Builder providerAuthentication(@Nullable ResourceProviderManifestPropertiesResponseProviderAuthentication providerAuthentication) {

            this.providerAuthentication = providerAuthentication;
            return this;
        }
        @CustomType.Setter
        public Builder providerAuthorizations(@Nullable List providerAuthorizations) {

            this.providerAuthorizations = providerAuthorizations;
            return this;
        }
        public Builder providerAuthorizations(ResourceProviderAuthorizationResponse... providerAuthorizations) {
            return providerAuthorizations(List.of(providerAuthorizations));
        }
        @CustomType.Setter
        public Builder providerHubMetadata(@Nullable ProviderRegistrationPropertiesResponseProviderHubMetadata providerHubMetadata) {

            this.providerHubMetadata = providerHubMetadata;
            return this;
        }
        @CustomType.Setter
        public Builder providerType(@Nullable String providerType) {

            this.providerType = providerType;
            return this;
        }
        @CustomType.Setter
        public Builder providerVersion(@Nullable String providerVersion) {

            this.providerVersion = providerVersion;
            return this;
        }
        @CustomType.Setter
        public Builder provisioningState(@Nullable String provisioningState) {

            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder requestHeaderOptions(@Nullable ResourceProviderManifestPropertiesResponseRequestHeaderOptions requestHeaderOptions) {

            this.requestHeaderOptions = requestHeaderOptions;
            return this;
        }
        @CustomType.Setter
        public Builder requiredFeatures(@Nullable List requiredFeatures) {

            this.requiredFeatures = requiredFeatures;
            return this;
        }
        public Builder requiredFeatures(String... requiredFeatures) {
            return requiredFeatures(List.of(requiredFeatures));
        }
        @CustomType.Setter
        public Builder subscriptionLifecycleNotificationSpecifications(@Nullable ProviderRegistrationPropertiesResponseSubscriptionLifecycleNotificationSpecifications subscriptionLifecycleNotificationSpecifications) {

            this.subscriptionLifecycleNotificationSpecifications = subscriptionLifecycleNotificationSpecifications;
            return this;
        }
        @CustomType.Setter
        public Builder templateDeploymentOptions(@Nullable ResourceProviderManifestPropertiesResponseTemplateDeploymentOptions templateDeploymentOptions) {

            this.templateDeploymentOptions = templateDeploymentOptions;
            return this;
        }
        public ProviderRegistrationResponseProperties build() {
            final var _resultValue = new ProviderRegistrationResponseProperties();
            _resultValue.capabilities = capabilities;
            _resultValue.featuresRule = featuresRule;
            _resultValue.management = management;
            _resultValue.metadata = metadata;
            _resultValue.namespace = namespace;
            _resultValue.providerAuthentication = providerAuthentication;
            _resultValue.providerAuthorizations = providerAuthorizations;
            _resultValue.providerHubMetadata = providerHubMetadata;
            _resultValue.providerType = providerType;
            _resultValue.providerVersion = providerVersion;
            _resultValue.provisioningState = provisioningState;
            _resultValue.requestHeaderOptions = requestHeaderOptions;
            _resultValue.requiredFeatures = requiredFeatures;
            _resultValue.subscriptionLifecycleNotificationSpecifications = subscriptionLifecycleNotificationSpecifications;
            _resultValue.templateDeploymentOptions = templateDeploymentOptions;
            return _resultValue;
        }
    }
}