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

com.pulumi.venafi.inputs.SshCertificateState Maven / Gradle / Ivy

There is a newer version: 1.11.0-alpha.1732775225
Show 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.venafi.inputs;

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


public final class SshCertificateState extends com.pulumi.resources.ResourceArgs {

    public static final SshCertificateState Empty = new SshCertificateState();

    /**
     * The issued SSH certificate.
     * 
     */
    @Import(name="certificate")
    private @Nullable Output certificate;

    /**
     * @return The issued SSH certificate.
     * 
     */
    public Optional> certificate() {
        return Optional.ofNullable(this.certificate);
    }

    /**
     * Indicates whether the SSH certificate is for client or server authentication.
     * 
     */
    @Import(name="certificateType")
    private @Nullable Output certificateType;

    /**
     * @return Indicates whether the SSH certificate is for client or server authentication.
     * 
     */
    public Optional> certificateType() {
        return Optional.ofNullable(this.certificateType);
    }

    /**
     * A list of one or more valid IP or CIDR destination hosts where the
     * certificate will authenticate.
     * 
     */
    @Import(name="destinationAddresses")
    private @Nullable Output> destinationAddresses;

    /**
     * @return A list of one or more valid IP or CIDR destination hosts where the
     * certificate will authenticate.
     * 
     */
    public Optional>> destinationAddresses() {
        return Optional.ofNullable(this.destinationAddresses);
    }

    /**
     * A list of key-value pairs that contain certificate extensions from the CA
     * template for client certificates. Allowed values (case-sensitive): `permit-X11-forwarding`, `permit-agent-forwarding`,
     * `permit-port-forwarding`, `permit-pty`, `permit-user-rc`.
     * 
     */
    @Import(name="extensions")
    private @Nullable Output> extensions;

    /**
     * @return A list of key-value pairs that contain certificate extensions from the CA
     * template for client certificates. Allowed values (case-sensitive): `permit-X11-forwarding`, `permit-agent-forwarding`,
     * `permit-port-forwarding`, `permit-pty`, `permit-user-rc`.
     * 
     */
    public Optional>> extensions() {
        return Optional.ofNullable(this.extensions);
    }

    /**
     * The DN of the policy folder where the SSH certificate object will be created.
     * 
     */
    @Import(name="folder")
    private @Nullable Output folder;

    /**
     * @return The DN of the policy folder where the SSH certificate object will be created.
     * 
     */
    public Optional> folder() {
        return Optional.ofNullable(this.folder);
    }

    /**
     * A command to run after successful login.
     * 
     */
    @Import(name="forceCommand")
    private @Nullable Output forceCommand;

    /**
     * @return A command to run after successful login.
     * 
     */
    public Optional> forceCommand() {
        return Optional.ofNullable(this.forceCommand);
    }

    /**
     * The identifier of the requested SSH certificate.
     * 
     */
    @Import(name="keyId")
    private @Nullable Output keyId;

    /**
     * @return The identifier of the requested SSH certificate.
     * 
     */
    public Optional> keyId() {
        return Optional.ofNullable(this.keyId);
    }

    /**
     * Passphrase for encrypting the private key.
     * 
     */
    @Import(name="keyPassphrase")
    private @Nullable Output keyPassphrase;

    /**
     * @return Passphrase for encrypting the private key.
     * 
     */
    public Optional> keyPassphrase() {
        return Optional.ofNullable(this.keyPassphrase);
    }

    /**
     * Number of bits to use when creating a key pair. (e.g. `3072`).
     * 
     */
    @Import(name="keySize")
    private @Nullable Output keySize;

    /**
     * @return Number of bits to use when creating a key pair. (e.g. `3072`).
     * 
     */
    public Optional> keySize() {
        return Optional.ofNullable(this.keySize);
    }

    /**
     * The friendly name of the SSH certificate object. When not specified the `key_id`
     * is used for the friendly name. If the object already exists the old certificate is archived and the CA issues a new
     * certificate.
     * 
     */
    @Import(name="objectName")
    private @Nullable Output objectName;

    /**
     * @return The friendly name of the SSH certificate object. When not specified the `key_id`
     * is used for the friendly name. If the object already exists the old certificate is archived and the CA issues a new
     * certificate.
     * 
     */
    public Optional> objectName() {
        return Optional.ofNullable(this.objectName);
    }

    /**
     * [DEPRECATED] - (Optional, set of strings) Use "principals" instead. A list of usernames for whom the
     * requested certificate will be valid.
     * 
     * @deprecated
     * This will be removed in the future. Use "principals" instead
     * 
     */
    @Deprecated /* This will be removed in the future. Use ""principals"" instead */
    @Import(name="principal")
    private @Nullable Output> principal;

    /**
     * @return [DEPRECATED] - (Optional, set of strings) Use "principals" instead. A list of usernames for whom the
     * requested certificate will be valid.
     * 
     * @deprecated
     * This will be removed in the future. Use "principals" instead
     * 
     */
    @Deprecated /* This will be removed in the future. Use ""principals"" instead */
    public Optional>> principal() {
        return Optional.ofNullable(this.principal);
    }

    /**
     * A list of usernames for whom the requested certificate will be valid.
     * 
     */
    @Import(name="principals")
    private @Nullable Output> principals;

    /**
     * @return A list of usernames for whom the requested certificate will be valid.
     * 
     */
    public Optional>> principals() {
        return Optional.ofNullable(this.principals);
    }

    /**
     * The private key for the SSH certificate if generated by Venafi.
     * 
     */
    @Import(name="privateKey")
    private @Nullable Output privateKey;

    /**
     * @return The private key for the SSH certificate if generated by Venafi.
     * 
     */
    public Optional> privateKey() {
        return Optional.ofNullable(this.privateKey);
    }

    /**
     * The OpenSSH formatted public key that will be used to generate the SSH certificate.
     * 
     */
    @Import(name="publicKey")
    private @Nullable Output publicKey;

    /**
     * @return The OpenSSH formatted public key that will be used to generate the SSH certificate.
     * 
     */
    public Optional> publicKey() {
        return Optional.ofNullable(this.publicKey);
    }

    /**
     * The SHA256 fingerprint of the SSH certificate's public key.
     * 
     */
    @Import(name="publicKeyFingerprint")
    private @Nullable Output publicKeyFingerprint;

    /**
     * @return The SHA256 fingerprint of the SSH certificate's public key.
     * 
     */
    public Optional> publicKeyFingerprint() {
        return Optional.ofNullable(this.publicKeyFingerprint);
    }

    /**
     * Specifies whether the public key will be `local` (default), `file` or
     * `service` generated.
     * 
     */
    @Import(name="publicKeyMethod")
    private @Nullable Output publicKeyMethod;

    /**
     * @return Specifies whether the public key will be `local` (default), `file` or
     * `service` generated.
     * 
     */
    public Optional> publicKeyMethod() {
        return Optional.ofNullable(this.publicKeyMethod);
    }

    /**
     * The serial number of the SSH certificate.
     * 
     */
    @Import(name="serial")
    private @Nullable Output serial;

    /**
     * @return The serial number of the SSH certificate.
     * 
     */
    public Optional> serial() {
        return Optional.ofNullable(this.serial);
    }

    /**
     * The SHA256 fingerprint of the CA that signed the SSH certificate.
     * 
     */
    @Import(name="signingCa")
    private @Nullable Output signingCa;

    /**
     * @return The SHA256 fingerprint of the CA that signed the SSH certificate.
     * 
     */
    public Optional> signingCa() {
        return Optional.ofNullable(this.signingCa);
    }

    /**
     * A list of one or more valid IP or CIDR addresses that can use the SSH
     * certificate.
     * 
     */
    @Import(name="sourceAddresses")
    private @Nullable Output> sourceAddresses;

    /**
     * @return A list of one or more valid IP or CIDR addresses that can use the SSH
     * certificate.
     * 
     */
    public Optional>> sourceAddresses() {
        return Optional.ofNullable(this.sourceAddresses);
    }

    /**
     * The SSH certificate issuing template.
     * 
     */
    @Import(name="template")
    private @Nullable Output template;

    /**
     * @return The SSH certificate issuing template.
     * 
     */
    public Optional> template() {
        return Optional.ofNullable(this.template);
    }

    /**
     * The date the SSH certificate was issued.
     * 
     */
    @Import(name="validFrom")
    private @Nullable Output validFrom;

    /**
     * @return The date the SSH certificate was issued.
     * 
     */
    public Optional> validFrom() {
        return Optional.ofNullable(this.validFrom);
    }

    /**
     * Desired number of hours for which the certificate will be valid.
     * 
     */
    @Import(name="validHours")
    private @Nullable Output validHours;

    /**
     * @return Desired number of hours for which the certificate will be valid.
     * 
     */
    public Optional> validHours() {
        return Optional.ofNullable(this.validHours);
    }

    /**
     * The date the SSH certificate will expire.
     * 
     */
    @Import(name="validTo")
    private @Nullable Output validTo;

    /**
     * @return The date the SSH certificate will expire.
     * 
     */
    public Optional> validTo() {
        return Optional.ofNullable(this.validTo);
    }

    /**
     * Specifies whether the private key will use Windows/DOS style line breaks.
     * 
     */
    @Import(name="windows")
    private @Nullable Output windows;

    /**
     * @return Specifies whether the private key will use Windows/DOS style line breaks.
     * 
     */
    public Optional> windows() {
        return Optional.ofNullable(this.windows);
    }

    private SshCertificateState() {}

    private SshCertificateState(SshCertificateState $) {
        this.certificate = $.certificate;
        this.certificateType = $.certificateType;
        this.destinationAddresses = $.destinationAddresses;
        this.extensions = $.extensions;
        this.folder = $.folder;
        this.forceCommand = $.forceCommand;
        this.keyId = $.keyId;
        this.keyPassphrase = $.keyPassphrase;
        this.keySize = $.keySize;
        this.objectName = $.objectName;
        this.principal = $.principal;
        this.principals = $.principals;
        this.privateKey = $.privateKey;
        this.publicKey = $.publicKey;
        this.publicKeyFingerprint = $.publicKeyFingerprint;
        this.publicKeyMethod = $.publicKeyMethod;
        this.serial = $.serial;
        this.signingCa = $.signingCa;
        this.sourceAddresses = $.sourceAddresses;
        this.template = $.template;
        this.validFrom = $.validFrom;
        this.validHours = $.validHours;
        this.validTo = $.validTo;
        this.windows = $.windows;
    }

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

    public static final class Builder {
        private SshCertificateState $;

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

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

        /**
         * @param certificate The issued SSH certificate.
         * 
         * @return builder
         * 
         */
        public Builder certificate(@Nullable Output certificate) {
            $.certificate = certificate;
            return this;
        }

        /**
         * @param certificate The issued SSH certificate.
         * 
         * @return builder
         * 
         */
        public Builder certificate(String certificate) {
            return certificate(Output.of(certificate));
        }

        /**
         * @param certificateType Indicates whether the SSH certificate is for client or server authentication.
         * 
         * @return builder
         * 
         */
        public Builder certificateType(@Nullable Output certificateType) {
            $.certificateType = certificateType;
            return this;
        }

        /**
         * @param certificateType Indicates whether the SSH certificate is for client or server authentication.
         * 
         * @return builder
         * 
         */
        public Builder certificateType(String certificateType) {
            return certificateType(Output.of(certificateType));
        }

        /**
         * @param destinationAddresses A list of one or more valid IP or CIDR destination hosts where the
         * certificate will authenticate.
         * 
         * @return builder
         * 
         */
        public Builder destinationAddresses(@Nullable Output> destinationAddresses) {
            $.destinationAddresses = destinationAddresses;
            return this;
        }

        /**
         * @param destinationAddresses A list of one or more valid IP or CIDR destination hosts where the
         * certificate will authenticate.
         * 
         * @return builder
         * 
         */
        public Builder destinationAddresses(List destinationAddresses) {
            return destinationAddresses(Output.of(destinationAddresses));
        }

        /**
         * @param destinationAddresses A list of one or more valid IP or CIDR destination hosts where the
         * certificate will authenticate.
         * 
         * @return builder
         * 
         */
        public Builder destinationAddresses(String... destinationAddresses) {
            return destinationAddresses(List.of(destinationAddresses));
        }

        /**
         * @param extensions A list of key-value pairs that contain certificate extensions from the CA
         * template for client certificates. Allowed values (case-sensitive): `permit-X11-forwarding`, `permit-agent-forwarding`,
         * `permit-port-forwarding`, `permit-pty`, `permit-user-rc`.
         * 
         * @return builder
         * 
         */
        public Builder extensions(@Nullable Output> extensions) {
            $.extensions = extensions;
            return this;
        }

        /**
         * @param extensions A list of key-value pairs that contain certificate extensions from the CA
         * template for client certificates. Allowed values (case-sensitive): `permit-X11-forwarding`, `permit-agent-forwarding`,
         * `permit-port-forwarding`, `permit-pty`, `permit-user-rc`.
         * 
         * @return builder
         * 
         */
        public Builder extensions(List extensions) {
            return extensions(Output.of(extensions));
        }

        /**
         * @param extensions A list of key-value pairs that contain certificate extensions from the CA
         * template for client certificates. Allowed values (case-sensitive): `permit-X11-forwarding`, `permit-agent-forwarding`,
         * `permit-port-forwarding`, `permit-pty`, `permit-user-rc`.
         * 
         * @return builder
         * 
         */
        public Builder extensions(String... extensions) {
            return extensions(List.of(extensions));
        }

        /**
         * @param folder The DN of the policy folder where the SSH certificate object will be created.
         * 
         * @return builder
         * 
         */
        public Builder folder(@Nullable Output folder) {
            $.folder = folder;
            return this;
        }

        /**
         * @param folder The DN of the policy folder where the SSH certificate object will be created.
         * 
         * @return builder
         * 
         */
        public Builder folder(String folder) {
            return folder(Output.of(folder));
        }

        /**
         * @param forceCommand A command to run after successful login.
         * 
         * @return builder
         * 
         */
        public Builder forceCommand(@Nullable Output forceCommand) {
            $.forceCommand = forceCommand;
            return this;
        }

        /**
         * @param forceCommand A command to run after successful login.
         * 
         * @return builder
         * 
         */
        public Builder forceCommand(String forceCommand) {
            return forceCommand(Output.of(forceCommand));
        }

        /**
         * @param keyId The identifier of the requested SSH certificate.
         * 
         * @return builder
         * 
         */
        public Builder keyId(@Nullable Output keyId) {
            $.keyId = keyId;
            return this;
        }

        /**
         * @param keyId The identifier of the requested SSH certificate.
         * 
         * @return builder
         * 
         */
        public Builder keyId(String keyId) {
            return keyId(Output.of(keyId));
        }

        /**
         * @param keyPassphrase Passphrase for encrypting the private key.
         * 
         * @return builder
         * 
         */
        public Builder keyPassphrase(@Nullable Output keyPassphrase) {
            $.keyPassphrase = keyPassphrase;
            return this;
        }

        /**
         * @param keyPassphrase Passphrase for encrypting the private key.
         * 
         * @return builder
         * 
         */
        public Builder keyPassphrase(String keyPassphrase) {
            return keyPassphrase(Output.of(keyPassphrase));
        }

        /**
         * @param keySize Number of bits to use when creating a key pair. (e.g. `3072`).
         * 
         * @return builder
         * 
         */
        public Builder keySize(@Nullable Output keySize) {
            $.keySize = keySize;
            return this;
        }

        /**
         * @param keySize Number of bits to use when creating a key pair. (e.g. `3072`).
         * 
         * @return builder
         * 
         */
        public Builder keySize(Integer keySize) {
            return keySize(Output.of(keySize));
        }

        /**
         * @param objectName The friendly name of the SSH certificate object. When not specified the `key_id`
         * is used for the friendly name. If the object already exists the old certificate is archived and the CA issues a new
         * certificate.
         * 
         * @return builder
         * 
         */
        public Builder objectName(@Nullable Output objectName) {
            $.objectName = objectName;
            return this;
        }

        /**
         * @param objectName The friendly name of the SSH certificate object. When not specified the `key_id`
         * is used for the friendly name. If the object already exists the old certificate is archived and the CA issues a new
         * certificate.
         * 
         * @return builder
         * 
         */
        public Builder objectName(String objectName) {
            return objectName(Output.of(objectName));
        }

        /**
         * @param principal [DEPRECATED] - (Optional, set of strings) Use "principals" instead. A list of usernames for whom the
         * requested certificate will be valid.
         * 
         * @return builder
         * 
         * @deprecated
         * This will be removed in the future. Use "principals" instead
         * 
         */
        @Deprecated /* This will be removed in the future. Use ""principals"" instead */
        public Builder principal(@Nullable Output> principal) {
            $.principal = principal;
            return this;
        }

        /**
         * @param principal [DEPRECATED] - (Optional, set of strings) Use "principals" instead. A list of usernames for whom the
         * requested certificate will be valid.
         * 
         * @return builder
         * 
         * @deprecated
         * This will be removed in the future. Use "principals" instead
         * 
         */
        @Deprecated /* This will be removed in the future. Use ""principals"" instead */
        public Builder principal(List principal) {
            return principal(Output.of(principal));
        }

        /**
         * @param principal [DEPRECATED] - (Optional, set of strings) Use "principals" instead. A list of usernames for whom the
         * requested certificate will be valid.
         * 
         * @return builder
         * 
         * @deprecated
         * This will be removed in the future. Use "principals" instead
         * 
         */
        @Deprecated /* This will be removed in the future. Use ""principals"" instead */
        public Builder principal(String... principal) {
            return principal(List.of(principal));
        }

        /**
         * @param principals A list of usernames for whom the requested certificate will be valid.
         * 
         * @return builder
         * 
         */
        public Builder principals(@Nullable Output> principals) {
            $.principals = principals;
            return this;
        }

        /**
         * @param principals A list of usernames for whom the requested certificate will be valid.
         * 
         * @return builder
         * 
         */
        public Builder principals(List principals) {
            return principals(Output.of(principals));
        }

        /**
         * @param principals A list of usernames for whom the requested certificate will be valid.
         * 
         * @return builder
         * 
         */
        public Builder principals(String... principals) {
            return principals(List.of(principals));
        }

        /**
         * @param privateKey The private key for the SSH certificate if generated by Venafi.
         * 
         * @return builder
         * 
         */
        public Builder privateKey(@Nullable Output privateKey) {
            $.privateKey = privateKey;
            return this;
        }

        /**
         * @param privateKey The private key for the SSH certificate if generated by Venafi.
         * 
         * @return builder
         * 
         */
        public Builder privateKey(String privateKey) {
            return privateKey(Output.of(privateKey));
        }

        /**
         * @param publicKey The OpenSSH formatted public key that will be used to generate the SSH certificate.
         * 
         * @return builder
         * 
         */
        public Builder publicKey(@Nullable Output publicKey) {
            $.publicKey = publicKey;
            return this;
        }

        /**
         * @param publicKey The OpenSSH formatted public key that will be used to generate the SSH certificate.
         * 
         * @return builder
         * 
         */
        public Builder publicKey(String publicKey) {
            return publicKey(Output.of(publicKey));
        }

        /**
         * @param publicKeyFingerprint The SHA256 fingerprint of the SSH certificate's public key.
         * 
         * @return builder
         * 
         */
        public Builder publicKeyFingerprint(@Nullable Output publicKeyFingerprint) {
            $.publicKeyFingerprint = publicKeyFingerprint;
            return this;
        }

        /**
         * @param publicKeyFingerprint The SHA256 fingerprint of the SSH certificate's public key.
         * 
         * @return builder
         * 
         */
        public Builder publicKeyFingerprint(String publicKeyFingerprint) {
            return publicKeyFingerprint(Output.of(publicKeyFingerprint));
        }

        /**
         * @param publicKeyMethod Specifies whether the public key will be `local` (default), `file` or
         * `service` generated.
         * 
         * @return builder
         * 
         */
        public Builder publicKeyMethod(@Nullable Output publicKeyMethod) {
            $.publicKeyMethod = publicKeyMethod;
            return this;
        }

        /**
         * @param publicKeyMethod Specifies whether the public key will be `local` (default), `file` or
         * `service` generated.
         * 
         * @return builder
         * 
         */
        public Builder publicKeyMethod(String publicKeyMethod) {
            return publicKeyMethod(Output.of(publicKeyMethod));
        }

        /**
         * @param serial The serial number of the SSH certificate.
         * 
         * @return builder
         * 
         */
        public Builder serial(@Nullable Output serial) {
            $.serial = serial;
            return this;
        }

        /**
         * @param serial The serial number of the SSH certificate.
         * 
         * @return builder
         * 
         */
        public Builder serial(String serial) {
            return serial(Output.of(serial));
        }

        /**
         * @param signingCa The SHA256 fingerprint of the CA that signed the SSH certificate.
         * 
         * @return builder
         * 
         */
        public Builder signingCa(@Nullable Output signingCa) {
            $.signingCa = signingCa;
            return this;
        }

        /**
         * @param signingCa The SHA256 fingerprint of the CA that signed the SSH certificate.
         * 
         * @return builder
         * 
         */
        public Builder signingCa(String signingCa) {
            return signingCa(Output.of(signingCa));
        }

        /**
         * @param sourceAddresses A list of one or more valid IP or CIDR addresses that can use the SSH
         * certificate.
         * 
         * @return builder
         * 
         */
        public Builder sourceAddresses(@Nullable Output> sourceAddresses) {
            $.sourceAddresses = sourceAddresses;
            return this;
        }

        /**
         * @param sourceAddresses A list of one or more valid IP or CIDR addresses that can use the SSH
         * certificate.
         * 
         * @return builder
         * 
         */
        public Builder sourceAddresses(List sourceAddresses) {
            return sourceAddresses(Output.of(sourceAddresses));
        }

        /**
         * @param sourceAddresses A list of one or more valid IP or CIDR addresses that can use the SSH
         * certificate.
         * 
         * @return builder
         * 
         */
        public Builder sourceAddresses(String... sourceAddresses) {
            return sourceAddresses(List.of(sourceAddresses));
        }

        /**
         * @param template The SSH certificate issuing template.
         * 
         * @return builder
         * 
         */
        public Builder template(@Nullable Output template) {
            $.template = template;
            return this;
        }

        /**
         * @param template The SSH certificate issuing template.
         * 
         * @return builder
         * 
         */
        public Builder template(String template) {
            return template(Output.of(template));
        }

        /**
         * @param validFrom The date the SSH certificate was issued.
         * 
         * @return builder
         * 
         */
        public Builder validFrom(@Nullable Output validFrom) {
            $.validFrom = validFrom;
            return this;
        }

        /**
         * @param validFrom The date the SSH certificate was issued.
         * 
         * @return builder
         * 
         */
        public Builder validFrom(String validFrom) {
            return validFrom(Output.of(validFrom));
        }

        /**
         * @param validHours Desired number of hours for which the certificate will be valid.
         * 
         * @return builder
         * 
         */
        public Builder validHours(@Nullable Output validHours) {
            $.validHours = validHours;
            return this;
        }

        /**
         * @param validHours Desired number of hours for which the certificate will be valid.
         * 
         * @return builder
         * 
         */
        public Builder validHours(Integer validHours) {
            return validHours(Output.of(validHours));
        }

        /**
         * @param validTo The date the SSH certificate will expire.
         * 
         * @return builder
         * 
         */
        public Builder validTo(@Nullable Output validTo) {
            $.validTo = validTo;
            return this;
        }

        /**
         * @param validTo The date the SSH certificate will expire.
         * 
         * @return builder
         * 
         */
        public Builder validTo(String validTo) {
            return validTo(Output.of(validTo));
        }

        /**
         * @param windows Specifies whether the private key will use Windows/DOS style line breaks.
         * 
         * @return builder
         * 
         */
        public Builder windows(@Nullable Output windows) {
            $.windows = windows;
            return this;
        }

        /**
         * @param windows Specifies whether the private key will use Windows/DOS style line breaks.
         * 
         * @return builder
         * 
         */
        public Builder windows(Boolean windows) {
            return windows(Output.of(windows));
        }

        public SshCertificateState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy