v1alpha1

package
v1.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 11, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

+k8s:deepcopy-gen=package Package v1alpha1 is the v1alpha1 version of the ram.services.k8s.aws API. +groupName=ram.services.k8s.aws

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is the API Group Version used to register the objects
	GroupVersion = schema.GroupVersion{Group: "ram.services.k8s.aws", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AssociatedPermission

type AssociatedPermission struct {
	ARN               *string      `json:"arn,omitempty"`
	DefaultVersion    *bool        `json:"defaultVersion,omitempty"`
	FeatureSet        *string      `json:"featureSet,omitempty"`
	LastUpdatedTime   *metav1.Time `json:"lastUpdatedTime,omitempty"`
	PermissionVersion *string      `json:"permissionVersion,omitempty"`
	ResourceShareARN  *string      `json:"resourceShareARN,omitempty"`
	ResourceType      *string      `json:"resourceType,omitempty"`
	Status            *string      `json:"status,omitempty"`
}

An object that describes a managed permission associated with a resource share.

func (*AssociatedPermission) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssociatedPermission.

func (*AssociatedPermission) DeepCopyInto

func (in *AssociatedPermission) DeepCopyInto(out *AssociatedPermission)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Permission added in v0.0.3

type Permission struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              PermissionSpec   `json:"spec,omitempty"`
	Status            PermissionStatus `json:"status,omitempty"`
}

Permission is the Schema for the Permissions API +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*Permission) DeepCopy added in v0.0.3

func (in *Permission) DeepCopy() *Permission

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Permission.

func (*Permission) DeepCopyInto added in v0.0.3

func (in *Permission) DeepCopyInto(out *Permission)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Permission) DeepCopyObject added in v0.0.3

func (in *Permission) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PermissionFeatureSet

type PermissionFeatureSet string
const (
	PermissionFeatureSet_CREATED_FROM_POLICY   PermissionFeatureSet = "CREATED_FROM_POLICY"
	PermissionFeatureSet_PROMOTING_TO_STANDARD PermissionFeatureSet = "PROMOTING_TO_STANDARD"
	PermissionFeatureSet_STANDARD              PermissionFeatureSet = "STANDARD"
)

type PermissionList added in v0.0.3

type PermissionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Permission `json:"items"`
}

PermissionList contains a list of Permission +kubebuilder:object:root=true

func (*PermissionList) DeepCopy added in v0.0.3

func (in *PermissionList) DeepCopy() *PermissionList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PermissionList.

func (*PermissionList) DeepCopyInto added in v0.0.3

func (in *PermissionList) DeepCopyInto(out *PermissionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PermissionList) DeepCopyObject added in v0.0.3

func (in *PermissionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PermissionSpec added in v0.0.3

type PermissionSpec struct {

	// Specifies the name of the customer managed permission. The name must be unique
	// within the Amazon Web Services Region.
	//
	// Regex Pattern: `^[\w.-]*$`
	// +kubebuilder:validation:Required
	Name *string `json:"name"`
	// A string in JSON format string that contains the following elements of a
	// resource-based policy:
	//
	//   - Effect: must be set to ALLOW.
	//
	//   - Action: specifies the actions that are allowed by this customer managed
	//     permission. The list must contain only actions that are supported by the
	//     specified resource type. For a list of all actions supported by each resource
	//     type, see Actions, resources, and condition keys for Amazon Web Services
	//     services (https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html)
	//     in the Identity and Access Management User Guide.
	//
	//   - Condition: (optional) specifies conditional parameters that must evaluate
	//     to true when a user attempts an action for that action to be allowed.
	//     For more information about the Condition element, see IAM policies: Condition
	//     element (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)
	//     in the Identity and Access Management User Guide.
	//
	// This template can't include either the Resource or Principal elements. Those
	// are both filled in by RAM when it instantiates the resource-based policy
	// on each resource shared using this managed permission. The Resource comes
	// from the ARN of the specific resource that you are sharing. The Principal
	// comes from the list of identities added to the resource share.
	// +kubebuilder:validation:Required
	PolicyTemplate *string `json:"policyTemplate"`
	// Specifies the name of the resource type that this customer managed permission
	// applies to.
	//
	// The format is : and is not case sensitive. For example, to specify an Amazon
	// EC2 Subnet, you can use the string ec2:subnet. To see the list of valid values
	// for this parameter, query the ListResourceTypes operation.
	// +kubebuilder:validation:Required
	ResourceType *string `json:"resourceType"`
	// Specifies a list of one or more tag key and value pairs to attach to the
	// permission.
	Tags []*Tag `json:"tags,omitempty"`
}

PermissionSpec defines the desired state of Permission.

func (*PermissionSpec) DeepCopy added in v0.0.3

func (in *PermissionSpec) DeepCopy() *PermissionSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PermissionSpec.

func (*PermissionSpec) DeepCopyInto added in v0.0.3

func (in *PermissionSpec) DeepCopyInto(out *PermissionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PermissionStatus

type PermissionStatus struct {
	// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
	// that is used to contain resource sync state, account ownership,
	// constructed ARN for the resource
	// +kubebuilder:validation:Optional
	ACKResourceMetadata *ackv1alpha1.ResourceMetadata `json:"ackResourceMetadata"`
	// All CRs managed by ACK have a common `Status.Conditions` member that
	// contains a collection of `ackv1alpha1.Condition` objects that describe
	// the various terminal states of the CR and its backend AWS service API
	// resource
	// +kubebuilder:validation:Optional
	Conditions []*ackv1alpha1.Condition `json:"conditions"`
	// The date and time when the permission was created.
	// +kubebuilder:validation:Optional
	CreationTime *metav1.Time `json:"creationTime,omitempty"`
	// Specifies whether the version of the managed permission used by this resource
	// share is the default version for this managed permission.
	// +kubebuilder:validation:Optional
	DefaultVersion *bool `json:"defaultVersion,omitempty"`
	// Indicates what features are available for this resource share. This parameter
	// can have one of the following values:
	//
	//    * STANDARD – A resource share that supports all functionality. These
	//    resource shares are visible to all principals you share the resource share
	//    with. You can modify these resource shares in RAM using the console or
	//    APIs. This resource share might have been created by RAM, or it might
	//    have been CREATED_FROM_POLICY and then promoted.
	//
	//    * CREATED_FROM_POLICY – The customer manually shared a resource by attaching
	//    a resource-based policy. That policy did not match any existing managed
	//    permissions, so RAM created this customer managed permission automatically
	//    on the customer's behalf based on the attached policy document. This type
	//    of resource share is visible only to the Amazon Web Services account that
	//    created it. You can't modify it in RAM unless you promote it. For more
	//    information, see PromoteResourceShareCreatedFromPolicy.
	//
	//    * PROMOTING_TO_STANDARD – This resource share was originally CREATED_FROM_POLICY,
	//    but the customer ran the PromoteResourceShareCreatedFromPolicy and that
	//    operation is still in progress. This value changes to STANDARD when complete.
	// +kubebuilder:validation:Optional
	FeatureSet *string `json:"featureSet,omitempty"`
	// Specifies whether the managed permission associated with this resource share
	// is the default managed permission for all resources of this resource type.
	// +kubebuilder:validation:Optional
	IsResourceTypeDefault *bool `json:"isResourceTypeDefault,omitempty"`
	// The date and time when the permission was last updated.
	// +kubebuilder:validation:Optional
	LastUpdatedTime *metav1.Time `json:"lastUpdatedTime,omitempty"`
	// The type of managed permission. This can be one of the following values:
	//
	//    * AWS_MANAGED – Amazon Web Services created and manages this managed
	//    permission. You can associate it with your resource shares, but you can't
	//    modify it.
	//
	//    * CUSTOMER_MANAGED – You, or another principal in your account created
	//    this managed permission. You can associate it with your resource shares
	//    and create new versions that have different permissions.
	// +kubebuilder:validation:Optional
	PermissionType *string `json:"permissionType,omitempty"`
	// The current status of the permission.
	// +kubebuilder:validation:Optional
	Status *string `json:"status,omitempty"`
	// The version of the permission associated with this resource share.
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty"`
}

PermissionStatus defines the observed state of Permission

func (*PermissionStatus) DeepCopy added in v0.0.3

func (in *PermissionStatus) DeepCopy() *PermissionStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PermissionStatus.

func (*PermissionStatus) DeepCopyInto added in v0.0.3

func (in *PermissionStatus) DeepCopyInto(out *PermissionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PermissionStatus_SDK added in v0.0.3

type PermissionStatus_SDK string
const (
	PermissionStatus_SDK_ATTACHABLE   PermissionStatus_SDK = "ATTACHABLE"
	PermissionStatus_SDK_DELETED      PermissionStatus_SDK = "DELETED"
	PermissionStatus_SDK_DELETING     PermissionStatus_SDK = "DELETING"
	PermissionStatus_SDK_UNATTACHABLE PermissionStatus_SDK = "UNATTACHABLE"
)

type PermissionType

type PermissionType string
const (
	PermissionType_AWS_MANAGED      PermissionType = "AWS_MANAGED"
	PermissionType_CUSTOMER_MANAGED PermissionType = "CUSTOMER_MANAGED"
)

type PermissionTypeFilter

type PermissionTypeFilter string
const (
	PermissionTypeFilter_ALL              PermissionTypeFilter = "ALL"
	PermissionTypeFilter_AWS_MANAGED      PermissionTypeFilter = "AWS_MANAGED"
	PermissionTypeFilter_CUSTOMER_MANAGED PermissionTypeFilter = "CUSTOMER_MANAGED"
)

type Principal

type Principal struct {
	CreationTime     *metav1.Time `json:"creationTime,omitempty"`
	External         *bool        `json:"external,omitempty"`
	ID               *string      `json:"id,omitempty"`
	LastUpdatedTime  *metav1.Time `json:"lastUpdatedTime,omitempty"`
	ResourceShareARN *string      `json:"resourceShareARN,omitempty"`
}

Describes a principal for use with Resource Access Manager.

func (*Principal) DeepCopy

func (in *Principal) DeepCopy() *Principal

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Principal.

func (*Principal) DeepCopyInto

func (in *Principal) DeepCopyInto(out *Principal)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReplacePermissionAssociationsWork

type ReplacePermissionAssociationsWork struct {
	CreationTime          *metav1.Time `json:"creationTime,omitempty"`
	FromPermissionARN     *string      `json:"fromPermissionARN,omitempty"`
	FromPermissionVersion *string      `json:"fromPermissionVersion,omitempty"`
	ID                    *string      `json:"id,omitempty"`
	LastUpdatedTime       *metav1.Time `json:"lastUpdatedTime,omitempty"`
	StatusMessage         *string      `json:"statusMessage,omitempty"`
	ToPermissionARN       *string      `json:"toPermissionARN,omitempty"`
	ToPermissionVersion   *string      `json:"toPermissionVersion,omitempty"`
}

A structure that represents the background work that RAM performs when you invoke the ReplacePermissionAssociations operation.

func (*ReplacePermissionAssociationsWork) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplacePermissionAssociationsWork.

func (*ReplacePermissionAssociationsWork) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReplacePermissionAssociationsWorkStatus

type ReplacePermissionAssociationsWorkStatus string
const (
	ReplacePermissionAssociationsWorkStatus_COMPLETED   ReplacePermissionAssociationsWorkStatus = "COMPLETED"
	ReplacePermissionAssociationsWorkStatus_FAILED      ReplacePermissionAssociationsWorkStatus = "FAILED"
	ReplacePermissionAssociationsWorkStatus_IN_PROGRESS ReplacePermissionAssociationsWorkStatus = "IN_PROGRESS"
)

type Resource

type Resource struct {
	ARN              *string      `json:"arn,omitempty"`
	CreationTime     *metav1.Time `json:"creationTime,omitempty"`
	LastUpdatedTime  *metav1.Time `json:"lastUpdatedTime,omitempty"`
	ResourceGroupARN *string      `json:"resourceGroupARN,omitempty"`
	ResourceShareARN *string      `json:"resourceShareARN,omitempty"`
	StatusMessage    *string      `json:"statusMessage,omitempty"`
	Type             *string      `json:"type_,omitempty"`
}

Describes a resource associated with a resource share in RAM.

func (*Resource) DeepCopy

func (in *Resource) DeepCopy() *Resource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.

func (*Resource) DeepCopyInto

func (in *Resource) DeepCopyInto(out *Resource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceOwner

type ResourceOwner string
const (
	ResourceOwner_OTHER_ACCOUNTS ResourceOwner = "OTHER-ACCOUNTS"
	ResourceOwner_SELF           ResourceOwner = "SELF"
)

type ResourceRegionScope

type ResourceRegionScope string
const (
	ResourceRegionScope_GLOBAL   ResourceRegionScope = "GLOBAL"
	ResourceRegionScope_REGIONAL ResourceRegionScope = "REGIONAL"
)

type ResourceRegionScopeFilter

type ResourceRegionScopeFilter string
const (
	ResourceRegionScopeFilter_ALL      ResourceRegionScopeFilter = "ALL"
	ResourceRegionScopeFilter_GLOBAL   ResourceRegionScopeFilter = "GLOBAL"
	ResourceRegionScopeFilter_REGIONAL ResourceRegionScopeFilter = "REGIONAL"
)

type ResourceShare

type ResourceShare struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ResourceShareSpec   `json:"spec,omitempty"`
	Status            ResourceShareStatus `json:"status,omitempty"`
}

ResourceShare is the Schema for the ResourceShares API +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*ResourceShare) DeepCopy

func (in *ResourceShare) DeepCopy() *ResourceShare

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceShare.

func (*ResourceShare) DeepCopyInto

func (in *ResourceShare) DeepCopyInto(out *ResourceShare)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ResourceShare) DeepCopyObject

func (in *ResourceShare) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ResourceShareAssociation

type ResourceShareAssociation struct {
	AssociatedEntity  *string      `json:"associatedEntity,omitempty"`
	CreationTime      *metav1.Time `json:"creationTime,omitempty"`
	External          *bool        `json:"external,omitempty"`
	LastUpdatedTime   *metav1.Time `json:"lastUpdatedTime,omitempty"`
	ResourceShareARN  *string      `json:"resourceShareARN,omitempty"`
	ResourceShareName *string      `json:"resourceShareName,omitempty"`
	StatusMessage     *string      `json:"statusMessage,omitempty"`
}

Describes an association between a resource share and either a principal or a resource.

func (*ResourceShareAssociation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceShareAssociation.

func (*ResourceShareAssociation) DeepCopyInto

func (in *ResourceShareAssociation) DeepCopyInto(out *ResourceShareAssociation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceShareAssociationStatus

type ResourceShareAssociationStatus string
const (
	ResourceShareAssociationStatus_ASSOCIATED     ResourceShareAssociationStatus = "ASSOCIATED"
	ResourceShareAssociationStatus_ASSOCIATING    ResourceShareAssociationStatus = "ASSOCIATING"
	ResourceShareAssociationStatus_DISASSOCIATED  ResourceShareAssociationStatus = "DISASSOCIATED"
	ResourceShareAssociationStatus_DISASSOCIATING ResourceShareAssociationStatus = "DISASSOCIATING"
	ResourceShareAssociationStatus_FAILED         ResourceShareAssociationStatus = "FAILED"
)

type ResourceShareAssociationType

type ResourceShareAssociationType string
const (
	ResourceShareAssociationType_PRINCIPAL ResourceShareAssociationType = "PRINCIPAL"
	ResourceShareAssociationType_RESOURCE  ResourceShareAssociationType = "RESOURCE"
)

type ResourceShareFeatureSet

type ResourceShareFeatureSet string
const (
	ResourceShareFeatureSet_CREATED_FROM_POLICY   ResourceShareFeatureSet = "CREATED_FROM_POLICY"
	ResourceShareFeatureSet_PROMOTING_TO_STANDARD ResourceShareFeatureSet = "PROMOTING_TO_STANDARD"
	ResourceShareFeatureSet_STANDARD              ResourceShareFeatureSet = "STANDARD"
)

type ResourceShareInvitation

type ResourceShareInvitation struct {
	InvitationTimestamp        *metav1.Time `json:"invitationTimestamp,omitempty"`
	ReceiverAccountID          *string      `json:"receiverAccountID,omitempty"`
	ReceiverARN                *string      `json:"receiverARN,omitempty"`
	ResourceShareARN           *string      `json:"resourceShareARN,omitempty"`
	ResourceShareInvitationARN *string      `json:"resourceShareInvitationARN,omitempty"`
	ResourceShareName          *string      `json:"resourceShareName,omitempty"`
	SenderAccountID            *string      `json:"senderAccountID,omitempty"`
}

Describes an invitation for an Amazon Web Services account to join a resource share.

func (*ResourceShareInvitation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceShareInvitation.

func (*ResourceShareInvitation) DeepCopyInto

func (in *ResourceShareInvitation) DeepCopyInto(out *ResourceShareInvitation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceShareInvitationStatus

type ResourceShareInvitationStatus string
const (
	ResourceShareInvitationStatus_ACCEPTED ResourceShareInvitationStatus = "ACCEPTED"
	ResourceShareInvitationStatus_EXPIRED  ResourceShareInvitationStatus = "EXPIRED"
	ResourceShareInvitationStatus_PENDING  ResourceShareInvitationStatus = "PENDING"
	ResourceShareInvitationStatus_REJECTED ResourceShareInvitationStatus = "REJECTED"
)

type ResourceShareList

type ResourceShareList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ResourceShare `json:"items"`
}

ResourceShareList contains a list of ResourceShare +kubebuilder:object:root=true

func (*ResourceShareList) DeepCopy

func (in *ResourceShareList) DeepCopy() *ResourceShareList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceShareList.

func (*ResourceShareList) DeepCopyInto

func (in *ResourceShareList) DeepCopyInto(out *ResourceShareList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ResourceShareList) DeepCopyObject

func (in *ResourceShareList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ResourceSharePermissionDetail

type ResourceSharePermissionDetail struct {
	ARN                   *string      `json:"arn,omitempty"`
	CreationTime          *metav1.Time `json:"creationTime,omitempty"`
	DefaultVersion        *bool        `json:"defaultVersion,omitempty"`
	FeatureSet            *string      `json:"featureSet,omitempty"`
	IsResourceTypeDefault *bool        `json:"isResourceTypeDefault,omitempty"`
	LastUpdatedTime       *metav1.Time `json:"lastUpdatedTime,omitempty"`
	Name                  *string      `json:"name,omitempty"`
	Permission            *string      `json:"permission,omitempty"`
	PermissionType        *string      `json:"permissionType,omitempty"`
	ResourceType          *string      `json:"resourceType,omitempty"`
	Status                *string      `json:"status,omitempty"`
	Tags                  []*Tag       `json:"tags,omitempty"`
	Version               *string      `json:"version,omitempty"`
}

Information about a RAM managed permission.

func (*ResourceSharePermissionDetail) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSharePermissionDetail.

func (*ResourceSharePermissionDetail) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceSharePermissionSummary

type ResourceSharePermissionSummary struct {
	ARN                   *string      `json:"arn,omitempty"`
	CreationTime          *metav1.Time `json:"creationTime,omitempty"`
	DefaultVersion        *bool        `json:"defaultVersion,omitempty"`
	FeatureSet            *string      `json:"featureSet,omitempty"`
	IsResourceTypeDefault *bool        `json:"isResourceTypeDefault,omitempty"`
	LastUpdatedTime       *metav1.Time `json:"lastUpdatedTime,omitempty"`
	Name                  *string      `json:"name,omitempty"`
	PermissionType        *string      `json:"permissionType,omitempty"`
	ResourceType          *string      `json:"resourceType,omitempty"`
	Status                *string      `json:"status,omitempty"`
	Tags                  []*Tag       `json:"tags,omitempty"`
	Version               *string      `json:"version,omitempty"`
}

Information about an RAM permission.

func (*ResourceSharePermissionSummary) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSharePermissionSummary.

func (*ResourceSharePermissionSummary) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceShareSpec

type ResourceShareSpec struct {

	// Specifies whether principals outside your organization in Organizations can
	// be associated with a resource share. A value of true lets you share with
	// individual Amazon Web Services accounts that are not in your organization.
	// A value of false only has meaning if your account is a member of an Amazon
	// Web Services Organization. The default value is true.
	AllowExternalPrincipals *bool `json:"allowExternalPrincipals,omitempty"`
	// Specifies the name of the resource share.
	// +kubebuilder:validation:Required
	Name *string `json:"name"`
	// Specifies the Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
	// of the RAM permission to associate with the resource share. If you do not
	// specify an ARN for the permission, RAM automatically attaches the default
	// version of the permission for each resource type. You can associate only
	// one permission with each resource type included in the resource share.
	PermissionARNs []*string                                  `json:"permissionARNs,omitempty"`
	PermissionRefs []*ackv1alpha1.AWSResourceReferenceWrapper `json:"permissionRefs,omitempty"`
	// Specifies a list of one or more principals to associate with the resource
	// share.
	//
	// You can include the following values:
	//
	//   - An Amazon Web Services account ID, for example: 123456789012
	//
	//   - An Amazon Resource Name (ARN) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
	//     of an organization in Organizations, for example: organizations::123456789012:organization/o-exampleorgid
	//
	//   - An ARN of an organizational unit (OU) in Organizations, for example:
	//     organizations::123456789012:ou/o-exampleorgid/ou-examplerootid-exampleouid123
	//
	//   - An ARN of an IAM role, for example: iam::123456789012:role/rolename
	//
	//   - An ARN of an IAM user, for example: iam::123456789012user/username
	//
	// Not all resource types can be shared with IAM roles and users. For more information,
	// see Sharing with IAM roles and users (https://docs.aws.amazon.com/ram/latest/userguide/permissions.html#permissions-rbp-supported-resource-types)
	// in the Resource Access Manager User Guide.
	Principals []*string `json:"principals,omitempty"`
	// Specifies a list of one or more ARNs of the resources to associate with the
	// resource share.
	ResourceARNs []*string `json:"resourceARNs,omitempty"`
	// Specifies from which source accounts the service principal has access to
	// the resources in this resource share.
	Sources []*string `json:"sources,omitempty"`
	// A list of one or more tag key and value pairs. The tag key must be present
	// and not be an empty string. The tag value must be present but can be an empty
	// string.
	Tags []*Tag `json:"tags,omitempty"`
}

ResourceShareSpec defines the desired state of ResourceShare.

Describes a resource share in RAM.

func (*ResourceShareSpec) DeepCopy

func (in *ResourceShareSpec) DeepCopy() *ResourceShareSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceShareSpec.

func (*ResourceShareSpec) DeepCopyInto

func (in *ResourceShareSpec) DeepCopyInto(out *ResourceShareSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceShareStatus

type ResourceShareStatus struct {
	// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
	// that is used to contain resource sync state, account ownership,
	// constructed ARN for the resource
	// +kubebuilder:validation:Optional
	ACKResourceMetadata *ackv1alpha1.ResourceMetadata `json:"ackResourceMetadata"`
	// All CRs managed by ACK have a common `Status.Conditions` member that
	// contains a collection of `ackv1alpha1.Condition` objects that describe
	// the various terminal states of the CR and its backend AWS service API
	// resource
	// +kubebuilder:validation:Optional
	Conditions []*ackv1alpha1.Condition `json:"conditions"`
	// The date and time when the resource share was created.
	// +kubebuilder:validation:Optional
	CreationTime *metav1.Time `json:"creationTime,omitempty"`
	// Indicates what features are available for this resource share. This parameter
	// can have one of the following values:
	//
	//    * STANDARD – A resource share that supports all functionality. These
	//    resource shares are visible to all principals you share the resource share
	//    with. You can modify these resource shares in RAM using the console or
	//    APIs. This resource share might have been created by RAM, or it might
	//    have been CREATED_FROM_POLICY and then promoted.
	//
	//    * CREATED_FROM_POLICY – The customer manually shared a resource by attaching
	//    a resource-based policy. That policy did not match any existing managed
	//    permissions, so RAM created this customer managed permission automatically
	//    on the customer's behalf based on the attached policy document. This type
	//    of resource share is visible only to the Amazon Web Services account that
	//    created it. You can't modify it in RAM unless you promote it. For more
	//    information, see PromoteResourceShareCreatedFromPolicy.
	//
	//    * PROMOTING_TO_STANDARD – This resource share was originally CREATED_FROM_POLICY,
	//    but the customer ran the PromoteResourceShareCreatedFromPolicy and that
	//    operation is still in progress. This value changes to STANDARD when complete.
	// +kubebuilder:validation:Optional
	FeatureSet *string `json:"featureSet,omitempty"`
	// The date and time when the resource share was last updated.
	// +kubebuilder:validation:Optional
	LastUpdatedTime *metav1.Time `json:"lastUpdatedTime,omitempty"`
	// The ID of the Amazon Web Services account that owns the resource share.
	// +kubebuilder:validation:Optional
	OwningAccountID *string `json:"owningAccountID,omitempty"`
	// The current status of the resource share.
	// +kubebuilder:validation:Optional
	Status *string `json:"status,omitempty"`
	// A message about the status of the resource share.
	// +kubebuilder:validation:Optional
	StatusMessage *string `json:"statusMessage,omitempty"`
}

ResourceShareStatus defines the observed state of ResourceShare

func (*ResourceShareStatus) DeepCopy

func (in *ResourceShareStatus) DeepCopy() *ResourceShareStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceShareStatus.

func (*ResourceShareStatus) DeepCopyInto

func (in *ResourceShareStatus) DeepCopyInto(out *ResourceShareStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceShareStatus_SDK

type ResourceShareStatus_SDK string
const (
	ResourceShareStatus_SDK_ACTIVE   ResourceShareStatus_SDK = "ACTIVE"
	ResourceShareStatus_SDK_DELETED  ResourceShareStatus_SDK = "DELETED"
	ResourceShareStatus_SDK_DELETING ResourceShareStatus_SDK = "DELETING"
	ResourceShareStatus_SDK_FAILED   ResourceShareStatus_SDK = "FAILED"
	ResourceShareStatus_SDK_PENDING  ResourceShareStatus_SDK = "PENDING"
)

type ResourceShare_SDK

type ResourceShare_SDK struct {
	AllowExternalPrincipals *bool        `json:"allowExternalPrincipals,omitempty"`
	CreationTime            *metav1.Time `json:"creationTime,omitempty"`
	FeatureSet              *string      `json:"featureSet,omitempty"`
	LastUpdatedTime         *metav1.Time `json:"lastUpdatedTime,omitempty"`
	Name                    *string      `json:"name,omitempty"`
	OwningAccountID         *string      `json:"owningAccountID,omitempty"`
	ResourceShareARN        *string      `json:"resourceShareARN,omitempty"`
	Status                  *string      `json:"status,omitempty"`
	StatusMessage           *string      `json:"statusMessage,omitempty"`
	Tags                    []*Tag       `json:"tags,omitempty"`
}

Describes a resource share in RAM.

func (*ResourceShare_SDK) DeepCopy

func (in *ResourceShare_SDK) DeepCopy() *ResourceShare_SDK

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceShare_SDK.

func (*ResourceShare_SDK) DeepCopyInto

func (in *ResourceShare_SDK) DeepCopyInto(out *ResourceShare_SDK)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceStatus

type ResourceStatus string
const (
	ResourceStatus_AVAILABLE                   ResourceStatus = "AVAILABLE"
	ResourceStatus_LIMIT_EXCEEDED              ResourceStatus = "LIMIT_EXCEEDED"
	ResourceStatus_PENDING                     ResourceStatus = "PENDING"
	ResourceStatus_UNAVAILABLE                 ResourceStatus = "UNAVAILABLE"
	ResourceStatus_ZONAL_RESOURCE_INACCESSIBLE ResourceStatus = "ZONAL_RESOURCE_INACCESSIBLE"
)

type ServiceNameAndResourceType

type ServiceNameAndResourceType struct {
	ResourceType *string `json:"resourceType,omitempty"`
	ServiceName  *string `json:"serviceName,omitempty"`
}

Information about a shareable resource type and the Amazon Web Services service to which resources of that type belong.

func (*ServiceNameAndResourceType) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceNameAndResourceType.

func (*ServiceNameAndResourceType) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tag

type Tag struct {
	Key   *string `json:"key,omitempty"`
	Value *string `json:"value,omitempty"`
}

A structure containing a tag. A tag is metadata that you can attach to your resources to help organize and categorize them. You can also use them to help you secure your resources. For more information, see Controlling access to Amazon Web Services resources using tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html).

For more information about tags, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the Amazon Web Services General Reference Guide.

func (*Tag) DeepCopy

func (in *Tag) DeepCopy() *Tag

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tag.

func (*Tag) DeepCopyInto

func (in *Tag) DeepCopyInto(out *Tag)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TagFilter

type TagFilter struct {
	TagKey    *string   `json:"tagKey,omitempty"`
	TagValues []*string `json:"tagValues,omitempty"`
}

A tag key and optional list of possible values that you can use to filter results for tagged resources.

func (*TagFilter) DeepCopy

func (in *TagFilter) DeepCopy() *TagFilter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagFilter.

func (*TagFilter) DeepCopyInto

func (in *TagFilter) DeepCopyInto(out *TagFilter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL