...

Source file src/github.com/openshift/api/machine/v1/types_aws.go

Documentation: github.com/openshift/api/machine/v1

     1  package v1
     2  
     3  // AWSResourceReference is a reference to a specific AWS resource by ID, ARN, or filters.
     4  // Only one of ID, ARN or Filters may be specified. Specifying more than one will result in
     5  // a validation error.
     6  // +union
     7  // +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'ID' ?  has(self.id) : !has(self.id)",message="id is required when type is ID, and forbidden otherwise"
     8  // +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'ARN' ?  has(self.arn) : !has(self.arn)",message="arn is required when type is ARN, and forbidden otherwise"
     9  // +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Filters' ?  has(self.filters) : !has(self.filters)",message="filters is required when type is Filters, and forbidden otherwise"
    10  type AWSResourceReference struct {
    11  	// Type determines how the reference will fetch the AWS resource.
    12  	// +unionDiscriminator
    13  	// +kubebuilder:validation:Required
    14  	Type AWSResourceReferenceType `json:"type"`
    15  	// ID of resource.
    16  	// +optional
    17  	ID *string `json:"id,omitempty"`
    18  	// ARN of resource.
    19  	// +optional
    20  	ARN *string `json:"arn,omitempty"`
    21  	// Filters is a set of filters used to identify a resource.
    22  	// +optional
    23  	Filters *[]AWSResourceFilter `json:"filters,omitempty"`
    24  }
    25  
    26  // AWSResourceReferenceType is an enumeration of different resource reference types.
    27  // +kubebuilder:validation:Enum:="ID";"ARN";"Filters"
    28  type AWSResourceReferenceType string
    29  
    30  const (
    31  	// AWSIDReferenceType is a resource reference based on the object ID.
    32  	AWSIDReferenceType AWSResourceReferenceType = "ID"
    33  
    34  	// AWSARNReferenceType is a resource reference based on the object ARN.
    35  	AWSARNReferenceType AWSResourceReferenceType = "ARN"
    36  
    37  	// AWSFiltersReferenceType is a resource reference based on filters.
    38  	AWSFiltersReferenceType AWSResourceReferenceType = "Filters"
    39  )
    40  
    41  // AWSResourceFilter is a filter used to identify an AWS resource
    42  type AWSResourceFilter struct {
    43  	// Name of the filter. Filter names are case-sensitive.
    44  	// +kubebuilder:validation:Required
    45  	Name string `json:"name"`
    46  	// Values includes one or more filter values. Filter values are case-sensitive.
    47  	// +optional
    48  	Values []string `json:"values,omitempty"`
    49  }
    50  

View as plain text