import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; import * as enums from "../../types/enums"; /** * Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster. * Auto-naming is currently not supported for this resource. */ export declare class Membership extends pulumi.CustomResource { /** * Get an existing Membership resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Membership; /** * Returns true if the given object is an instance of Membership. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Membership; /** * Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity */ readonly authority: pulumi.Output; /** * When the Membership was created. */ readonly createTime: pulumi.Output; /** * When the Membership was deleted. */ readonly deleteTime: pulumi.Output; /** * Description of this membership, limited to 63 characters. Must match the regex: `a-zA-Z0-9*` This field is present for legacy purposes. */ readonly description: pulumi.Output; /** * Optional. Endpoint information to reach this member. */ readonly endpoint: pulumi.Output; /** * Optional. An externally-generated and managed ID for this Membership. This ID may be modified after creation, but this is not recommended. For GKE clusters, external_id is managed by the Hub API and updates will be ignored. The ID must match the regex: `a-zA-Z0-9*` If this Membership represents a Kubernetes cluster, this value should be set to the UID of the `kube-system` namespace object. */ readonly externalId: pulumi.Output; /** * Optional. The infrastructure type this Membership is running on. */ readonly infrastructureType: pulumi.Output; /** * Optional. Labels for this membership. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; /** * For clusters using Connect, the timestamp of the most recent connection established with Google Cloud. This time is updated every several minutes, not continuously. For clusters that do not use GKE Connect, or that have never connected successfully, this field will be unset. */ readonly lastConnectionTime: pulumi.Output; readonly location: pulumi.Output; /** * Required. Client chosen ID for the membership. `membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters. */ readonly membershipId: pulumi.Output; /** * Optional. The monitoring config information for this membership. */ readonly monitoringConfig: pulumi.Output; /** * The full, unique name of this Membership resource in the format `projects/*/locations/*/memberships/{membership_id}`, set during creation. `membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters. */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * State of the Membership resource. */ readonly state: pulumi.Output; /** * Google-generated UUID for this resource. This is unique across all Membership resources. If a Membership resource is deleted and another resource with the same name is created, it gets a different unique_id. */ readonly uniqueId: pulumi.Output; /** * When the Membership was last updated. */ readonly updateTime: pulumi.Output; /** * Create a Membership resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: MembershipArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Membership resource. */ export interface MembershipArgs { /** * Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity */ authority?: pulumi.Input; /** * Optional. Endpoint information to reach this member. */ endpoint?: pulumi.Input; /** * Optional. An externally-generated and managed ID for this Membership. This ID may be modified after creation, but this is not recommended. For GKE clusters, external_id is managed by the Hub API and updates will be ignored. The ID must match the regex: `a-zA-Z0-9*` If this Membership represents a Kubernetes cluster, this value should be set to the UID of the `kube-system` namespace object. */ externalId?: pulumi.Input; /** * Optional. The infrastructure type this Membership is running on. */ infrastructureType?: pulumi.Input; /** * Optional. Labels for this membership. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; /** * Required. Client chosen ID for the membership. `membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters. */ membershipId: pulumi.Input; /** * Optional. The monitoring config information for this membership. */ monitoringConfig?: pulumi.Input; project?: pulumi.Input; }