From 85ee17cb3207297ce41379b48614d325092a5b94 Mon Sep 17 00:00:00 2001 From: Fumigatus Date: Tue, 26 Sep 2023 16:22:32 +0300 Subject: [PATCH] rightsBundle & role & securityTag & serviceAccount & subscribedCatalog & uiPlugin added --- apis/vcd/v1alpha1/zz_generated.deepcopy.go | 2717 +++++++++++++---- apis/vcd/v1alpha1/zz_generated.managed.go | 456 +++ apis/vcd/v1alpha1/zz_generated.managedlist.go | 54 + apis/vcd/v1alpha1/zz_generated_terraformed.go | 444 +++ apis/vcd/v1alpha1/zz_rightsbundle_types.go | 115 + apis/vcd/v1alpha1/zz_role_types.go | 107 + apis/vcd/v1alpha1/zz_securitytag_types.go | 93 + apis/vcd/v1alpha1/zz_serviceaccount_types.go | 137 + .../v1alpha1/zz_subscribedcatalog_types.go | 240 ++ apis/vcd/v1alpha1/zz_uiplugin_types.go | 128 + config/external_name.go | 6 + config/provider.go | 12 + config/rights_bundle/config.go | 12 + config/role/config.go | 12 + config/security_tag/config.go | 12 + config/service_account/config.go | 12 + config/subscribed_catalog/config.go | 12 + config/ui_plugin/config.go | 12 + .../vcd/rightsbundle/zz_controller.go | 55 + internal/controller/vcd/role/zz_controller.go | 55 + .../vcd/securitytag/zz_controller.go | 55 + .../vcd/serviceaccount/zz_controller.go | 55 + .../vcd/subscribedcatalog/zz_controller.go | 55 + .../controller/vcd/uiplugin/zz_controller.go | 55 + internal/controller/zz_setup.go | 12 + .../crds/vcd.crossplane.io_rightsbundles.yaml | 356 +++ package/crds/vcd.crossplane.io_roles.yaml | 348 +++ .../crds/vcd.crossplane.io_securitytags.yaml | 338 ++ .../vcd.crossplane.io_serviceaccounts.yaml | 379 +++ .../vcd.crossplane.io_subscribedcatalogs.yaml | 525 ++++ package/crds/vcd.crossplane.io_uiplugins.yaml | 377 +++ 31 files changed, 6613 insertions(+), 633 deletions(-) create mode 100755 apis/vcd/v1alpha1/zz_rightsbundle_types.go create mode 100755 apis/vcd/v1alpha1/zz_role_types.go create mode 100755 apis/vcd/v1alpha1/zz_securitytag_types.go create mode 100755 apis/vcd/v1alpha1/zz_serviceaccount_types.go create mode 100755 apis/vcd/v1alpha1/zz_subscribedcatalog_types.go create mode 100755 apis/vcd/v1alpha1/zz_uiplugin_types.go create mode 100644 config/rights_bundle/config.go create mode 100644 config/role/config.go create mode 100644 config/security_tag/config.go create mode 100644 config/service_account/config.go create mode 100644 config/subscribed_catalog/config.go create mode 100644 config/ui_plugin/config.go create mode 100755 internal/controller/vcd/rightsbundle/zz_controller.go create mode 100755 internal/controller/vcd/role/zz_controller.go create mode 100755 internal/controller/vcd/securitytag/zz_controller.go create mode 100755 internal/controller/vcd/serviceaccount/zz_controller.go create mode 100755 internal/controller/vcd/subscribedcatalog/zz_controller.go create mode 100755 internal/controller/vcd/uiplugin/zz_controller.go create mode 100644 package/crds/vcd.crossplane.io_rightsbundles.yaml create mode 100644 package/crds/vcd.crossplane.io_roles.yaml create mode 100644 package/crds/vcd.crossplane.io_securitytags.yaml create mode 100644 package/crds/vcd.crossplane.io_serviceaccounts.yaml create mode 100644 package/crds/vcd.crossplane.io_subscribedcatalogs.yaml create mode 100644 package/crds/vcd.crossplane.io_uiplugins.yaml diff --git a/apis/vcd/v1alpha1/zz_generated.deepcopy.go b/apis/vcd/v1alpha1/zz_generated.deepcopy.go index 99322e7..5164b6f 100644 --- a/apis/vcd/v1alpha1/zz_generated.deepcopy.go +++ b/apis/vcd/v1alpha1/zz_generated.deepcopy.go @@ -22974,26 +22974,69 @@ func (in *RelayAgentParameters) DeepCopy() *RelayAgentParameters { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RuleObservation) DeepCopyInto(out *RuleObservation) { +func (in *RightsBundle) DeepCopyInto(out *RightsBundle) { *out = *in - if in.Action != nil { - in, out := &in.Action, &out.Action - *out = new(string) - **out = **in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RightsBundle. +func (in *RightsBundle) DeepCopy() *RightsBundle { + if in == nil { + return nil } - if in.AppPortProfileIds != nil { - in, out := &in.AppPortProfileIds, &out.AppPortProfileIds - *out = make([]*string, len(*in)) + out := new(RightsBundle) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RightsBundle) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RightsBundleList) DeepCopyInto(out *RightsBundleList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RightsBundle, len(*in)) for i := range *in { - if (*in)[i] != nil { - in, out := &(*in)[i], &(*out)[i] - *out = new(string) - **out = **in - } + (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.Comment != nil { - in, out := &in.Comment, &out.Comment +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RightsBundleList. +func (in *RightsBundleList) DeepCopy() *RightsBundleList { + if in == nil { + return nil + } + out := new(RightsBundleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RightsBundleList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RightsBundleObservation) DeepCopyInto(out *RightsBundleObservation) { + *out = *in + if in.BundleKey != nil { + in, out := &in.BundleKey, &out.BundleKey *out = new(string) **out = **in } @@ -23002,54 +23045,28 @@ func (in *RuleObservation) DeepCopyInto(out *RuleObservation) { *out = new(string) **out = **in } - if in.DestinationGroupsExcluded != nil { - in, out := &in.DestinationGroupsExcluded, &out.DestinationGroupsExcluded - *out = new(bool) - **out = **in - } - if in.DestinationIds != nil { - in, out := &in.DestinationIds, &out.DestinationIds - *out = make([]*string, len(*in)) - for i := range *in { - if (*in)[i] != nil { - in, out := &(*in)[i], &(*out)[i] - *out = new(string) - **out = **in - } - } - } - if in.Direction != nil { - in, out := &in.Direction, &out.Direction - *out = new(string) - **out = **in - } - if in.Enabled != nil { - in, out := &in.Enabled, &out.Enabled - *out = new(bool) - **out = **in - } if in.ID != nil { in, out := &in.ID, &out.ID *out = new(string) **out = **in } - if in.IPProtocol != nil { - in, out := &in.IPProtocol, &out.IPProtocol + if in.Name != nil { + in, out := &in.Name, &out.Name *out = new(string) **out = **in } - if in.Logging != nil { - in, out := &in.Logging, &out.Logging + if in.PublishToAllTenants != nil { + in, out := &in.PublishToAllTenants, &out.PublishToAllTenants *out = new(bool) **out = **in } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) + if in.ReadOnly != nil { + in, out := &in.ReadOnly, &out.ReadOnly + *out = new(bool) **out = **in } - if in.NetworkContextProfileIds != nil { - in, out := &in.NetworkContextProfileIds, &out.NetworkContextProfileIds + if in.Rights != nil { + in, out := &in.Rights, &out.Rights *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23059,13 +23076,8 @@ func (in *RuleObservation) DeepCopyInto(out *RuleObservation) { } } } - if in.SourceGroupsExcluded != nil { - in, out := &in.SourceGroupsExcluded, &out.SourceGroupsExcluded - *out = new(bool) - **out = **in - } - if in.SourceIds != nil { - in, out := &in.SourceIds, &out.SourceIds + if in.Tenants != nil { + in, out := &in.Tenants, &out.Tenants *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23077,88 +23089,36 @@ func (in *RuleObservation) DeepCopyInto(out *RuleObservation) { } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleObservation. -func (in *RuleObservation) DeepCopy() *RuleObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RightsBundleObservation. +func (in *RightsBundleObservation) DeepCopy() *RightsBundleObservation { if in == nil { return nil } - out := new(RuleObservation) + out := new(RightsBundleObservation) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RuleParameters) DeepCopyInto(out *RuleParameters) { +func (in *RightsBundleParameters) DeepCopyInto(out *RightsBundleParameters) { *out = *in - if in.Action != nil { - in, out := &in.Action, &out.Action - *out = new(string) - **out = **in - } - if in.AppPortProfileIds != nil { - in, out := &in.AppPortProfileIds, &out.AppPortProfileIds - *out = make([]*string, len(*in)) - for i := range *in { - if (*in)[i] != nil { - in, out := &(*in)[i], &(*out)[i] - *out = new(string) - **out = **in - } - } - } - if in.Comment != nil { - in, out := &in.Comment, &out.Comment - *out = new(string) - **out = **in - } if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) **out = **in } - if in.DestinationGroupsExcluded != nil { - in, out := &in.DestinationGroupsExcluded, &out.DestinationGroupsExcluded - *out = new(bool) - **out = **in - } - if in.DestinationIds != nil { - in, out := &in.DestinationIds, &out.DestinationIds - *out = make([]*string, len(*in)) - for i := range *in { - if (*in)[i] != nil { - in, out := &(*in)[i], &(*out)[i] - *out = new(string) - **out = **in - } - } - } - if in.Direction != nil { - in, out := &in.Direction, &out.Direction - *out = new(string) - **out = **in - } - if in.Enabled != nil { - in, out := &in.Enabled, &out.Enabled - *out = new(bool) - **out = **in - } - if in.IPProtocol != nil { - in, out := &in.IPProtocol, &out.IPProtocol + if in.Name != nil { + in, out := &in.Name, &out.Name *out = new(string) **out = **in } - if in.Logging != nil { - in, out := &in.Logging, &out.Logging + if in.PublishToAllTenants != nil { + in, out := &in.PublishToAllTenants, &out.PublishToAllTenants *out = new(bool) **out = **in } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.NetworkContextProfileIds != nil { - in, out := &in.NetworkContextProfileIds, &out.NetworkContextProfileIds + if in.Rights != nil { + in, out := &in.Rights, &out.Rights *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23168,13 +23128,8 @@ func (in *RuleParameters) DeepCopyInto(out *RuleParameters) { } } } - if in.SourceGroupsExcluded != nil { - in, out := &in.SourceGroupsExcluded, &out.SourceGroupsExcluded - *out = new(bool) - **out = **in - } - if in.SourceIds != nil { - in, out := &in.SourceIds, &out.SourceIds + if in.Tenants != nil { + in, out := &in.Tenants, &out.Tenants *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23186,131 +23141,144 @@ func (in *RuleParameters) DeepCopyInto(out *RuleParameters) { } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleParameters. -func (in *RuleParameters) DeepCopy() *RuleParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RightsBundleParameters. +func (in *RightsBundleParameters) DeepCopy() *RightsBundleParameters { if in == nil { return nil } - out := new(RuleParameters) + out := new(RightsBundleParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ScopeObservation) DeepCopyInto(out *ScopeObservation) { +func (in *RightsBundleSpec) DeepCopyInto(out *RightsBundleSpec) { *out = *in - if in.ID != nil { - in, out := &in.ID, &out.ID - *out = new(string) - **out = **in - } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.Type != nil { - in, out := &in.Type, &out.Type - *out = new(string) - **out = **in - } + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScopeObservation. -func (in *ScopeObservation) DeepCopy() *ScopeObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RightsBundleSpec. +func (in *RightsBundleSpec) DeepCopy() *RightsBundleSpec { if in == nil { return nil } - out := new(ScopeObservation) + out := new(RightsBundleSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ScopeParameters) DeepCopyInto(out *ScopeParameters) { +func (in *RightsBundleStatus) DeepCopyInto(out *RightsBundleStatus) { *out = *in - if in.ID != nil { - in, out := &in.ID, &out.ID - *out = new(string) - **out = **in - } - if in.Type != nil { - in, out := &in.Type, &out.Type - *out = new(string) - **out = **in - } + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScopeParameters. -func (in *ScopeParameters) DeepCopy() *ScopeParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RightsBundleStatus. +func (in *RightsBundleStatus) DeepCopy() *RightsBundleStatus { if in == nil { return nil } - out := new(ScopeParameters) + out := new(RightsBundleStatus) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SecondaryStaticIPPoolObservation) DeepCopyInto(out *SecondaryStaticIPPoolObservation) { +func (in *Role) DeepCopyInto(out *Role) { *out = *in - if in.EndAddress != nil { - in, out := &in.EndAddress, &out.EndAddress - *out = new(string) - **out = **in - } - if in.StartAddress != nil { - in, out := &in.StartAddress, &out.StartAddress - *out = new(string) - **out = **in - } + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryStaticIPPoolObservation. -func (in *SecondaryStaticIPPoolObservation) DeepCopy() *SecondaryStaticIPPoolObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Role. +func (in *Role) DeepCopy() *Role { if in == nil { return nil } - out := new(SecondaryStaticIPPoolObservation) + out := new(Role) in.DeepCopyInto(out) return out } +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Role) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SecondaryStaticIPPoolParameters) DeepCopyInto(out *SecondaryStaticIPPoolParameters) { +func (in *RoleList) DeepCopyInto(out *RoleList) { *out = *in - if in.EndAddress != nil { - in, out := &in.EndAddress, &out.EndAddress - *out = new(string) - **out = **in - } - if in.StartAddress != nil { - in, out := &in.StartAddress, &out.StartAddress - *out = new(string) - **out = **in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Role, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryStaticIPPoolParameters. -func (in *SecondaryStaticIPPoolParameters) DeepCopy() *SecondaryStaticIPPoolParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleList. +func (in *RoleList) DeepCopy() *RoleList { if in == nil { return nil } - out := new(SecondaryStaticIPPoolParameters) + out := new(RoleList) in.DeepCopyInto(out) return out } +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RoleList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SecurityProfileCustomizationObservation) DeepCopyInto(out *SecurityProfileCustomizationObservation) { +func (in *RoleObservation) DeepCopyInto(out *RoleObservation) { *out = *in - if in.DpdProbeInternal != nil { - in, out := &in.DpdProbeInternal, &out.DpdProbeInternal - *out = new(float64) + if in.BundleKey != nil { + in, out := &in.BundleKey, &out.BundleKey + *out = new(string) **out = **in } - if in.IkeDhGroups != nil { - in, out := &in.IkeDhGroups, &out.IkeDhGroups + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Org != nil { + in, out := &in.Org, &out.Org + *out = new(string) + **out = **in + } + if in.ReadOnly != nil { + in, out := &in.ReadOnly, &out.ReadOnly + *out = new(bool) + **out = **in + } + if in.Rights != nil { + in, out := &in.Rights, &out.Rights *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23320,8 +23288,38 @@ func (in *SecurityProfileCustomizationObservation) DeepCopyInto(out *SecurityPro } } } - if in.IkeDigestAlgorithms != nil { - in, out := &in.IkeDigestAlgorithms, &out.IkeDigestAlgorithms +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleObservation. +func (in *RoleObservation) DeepCopy() *RoleObservation { + if in == nil { + return nil + } + out := new(RoleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoleParameters) DeepCopyInto(out *RoleParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Org != nil { + in, out := &in.Org, &out.Org + *out = new(string) + **out = **in + } + if in.Rights != nil { + in, out := &in.Rights, &out.Rights *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23331,8 +23329,62 @@ func (in *SecurityProfileCustomizationObservation) DeepCopyInto(out *SecurityPro } } } - if in.IkeEncryptionAlgorithms != nil { - in, out := &in.IkeEncryptionAlgorithms, &out.IkeEncryptionAlgorithms +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleParameters. +func (in *RoleParameters) DeepCopy() *RoleParameters { + if in == nil { + return nil + } + out := new(RoleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoleSpec) DeepCopyInto(out *RoleSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleSpec. +func (in *RoleSpec) DeepCopy() *RoleSpec { + if in == nil { + return nil + } + out := new(RoleSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoleStatus) DeepCopyInto(out *RoleStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleStatus. +func (in *RoleStatus) DeepCopy() *RoleStatus { + if in == nil { + return nil + } + out := new(RoleStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RuleObservation) DeepCopyInto(out *RuleObservation) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(string) + **out = **in + } + if in.AppPortProfileIds != nil { + in, out := &in.AppPortProfileIds, &out.AppPortProfileIds *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23342,23 +23394,23 @@ func (in *SecurityProfileCustomizationObservation) DeepCopyInto(out *SecurityPro } } } - if in.IkeSaLifetime != nil { - in, out := &in.IkeSaLifetime, &out.IkeSaLifetime - *out = new(float64) + if in.Comment != nil { + in, out := &in.Comment, &out.Comment + *out = new(string) **out = **in } - if in.IkeVersion != nil { - in, out := &in.IkeVersion, &out.IkeVersion + if in.Description != nil { + in, out := &in.Description, &out.Description *out = new(string) **out = **in } - if in.TunnelDfPolicy != nil { - in, out := &in.TunnelDfPolicy, &out.TunnelDfPolicy - *out = new(string) + if in.DestinationGroupsExcluded != nil { + in, out := &in.DestinationGroupsExcluded, &out.DestinationGroupsExcluded + *out = new(bool) **out = **in } - if in.TunnelDhGroups != nil { - in, out := &in.TunnelDhGroups, &out.TunnelDhGroups + if in.DestinationIds != nil { + in, out := &in.DestinationIds, &out.DestinationIds *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23368,8 +23420,38 @@ func (in *SecurityProfileCustomizationObservation) DeepCopyInto(out *SecurityPro } } } - if in.TunnelDigestAlgorithms != nil { - in, out := &in.TunnelDigestAlgorithms, &out.TunnelDigestAlgorithms + if in.Direction != nil { + in, out := &in.Direction, &out.Direction + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IPProtocol != nil { + in, out := &in.IPProtocol, &out.IPProtocol + *out = new(string) + **out = **in + } + if in.Logging != nil { + in, out := &in.Logging, &out.Logging + *out = new(bool) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NetworkContextProfileIds != nil { + in, out := &in.NetworkContextProfileIds, &out.NetworkContextProfileIds *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23379,8 +23461,13 @@ func (in *SecurityProfileCustomizationObservation) DeepCopyInto(out *SecurityPro } } } - if in.TunnelEncryptionAlgorithms != nil { - in, out := &in.TunnelEncryptionAlgorithms, &out.TunnelEncryptionAlgorithms + if in.SourceGroupsExcluded != nil { + in, out := &in.SourceGroupsExcluded, &out.SourceGroupsExcluded + *out = new(bool) + **out = **in + } + if in.SourceIds != nil { + in, out := &in.SourceIds, &out.SourceIds *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23390,38 +23477,28 @@ func (in *SecurityProfileCustomizationObservation) DeepCopyInto(out *SecurityPro } } } - if in.TunnelPfsEnabled != nil { - in, out := &in.TunnelPfsEnabled, &out.TunnelPfsEnabled - *out = new(bool) - **out = **in - } - if in.TunnelSaLifetime != nil { - in, out := &in.TunnelSaLifetime, &out.TunnelSaLifetime - *out = new(float64) - **out = **in - } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityProfileCustomizationObservation. -func (in *SecurityProfileCustomizationObservation) DeepCopy() *SecurityProfileCustomizationObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleObservation. +func (in *RuleObservation) DeepCopy() *RuleObservation { if in == nil { return nil } - out := new(SecurityProfileCustomizationObservation) + out := new(RuleObservation) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SecurityProfileCustomizationParameters) DeepCopyInto(out *SecurityProfileCustomizationParameters) { +func (in *RuleParameters) DeepCopyInto(out *RuleParameters) { *out = *in - if in.DpdProbeInternal != nil { - in, out := &in.DpdProbeInternal, &out.DpdProbeInternal - *out = new(float64) + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(string) **out = **in } - if in.IkeDhGroups != nil { - in, out := &in.IkeDhGroups, &out.IkeDhGroups + if in.AppPortProfileIds != nil { + in, out := &in.AppPortProfileIds, &out.AppPortProfileIds *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23431,8 +23508,23 @@ func (in *SecurityProfileCustomizationParameters) DeepCopyInto(out *SecurityProf } } } - if in.IkeDigestAlgorithms != nil { - in, out := &in.IkeDigestAlgorithms, &out.IkeDigestAlgorithms + if in.Comment != nil { + in, out := &in.Comment, &out.Comment + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DestinationGroupsExcluded != nil { + in, out := &in.DestinationGroupsExcluded, &out.DestinationGroupsExcluded + *out = new(bool) + **out = **in + } + if in.DestinationIds != nil { + in, out := &in.DestinationIds, &out.DestinationIds *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23442,34 +23534,33 @@ func (in *SecurityProfileCustomizationParameters) DeepCopyInto(out *SecurityProf } } } - if in.IkeEncryptionAlgorithms != nil { - in, out := &in.IkeEncryptionAlgorithms, &out.IkeEncryptionAlgorithms - *out = make([]*string, len(*in)) - for i := range *in { - if (*in)[i] != nil { - in, out := &(*in)[i], &(*out)[i] - *out = new(string) - **out = **in - } - } + if in.Direction != nil { + in, out := &in.Direction, &out.Direction + *out = new(string) + **out = **in } - if in.IkeSaLifetime != nil { - in, out := &in.IkeSaLifetime, &out.IkeSaLifetime - *out = new(float64) + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) **out = **in } - if in.IkeVersion != nil { - in, out := &in.IkeVersion, &out.IkeVersion + if in.IPProtocol != nil { + in, out := &in.IPProtocol, &out.IPProtocol *out = new(string) **out = **in } - if in.TunnelDfPolicy != nil { - in, out := &in.TunnelDfPolicy, &out.TunnelDfPolicy + if in.Logging != nil { + in, out := &in.Logging, &out.Logging + *out = new(bool) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name *out = new(string) **out = **in } - if in.TunnelDhGroups != nil { - in, out := &in.TunnelDhGroups, &out.TunnelDhGroups + if in.NetworkContextProfileIds != nil { + in, out := &in.NetworkContextProfileIds, &out.NetworkContextProfileIds *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23479,19 +23570,13 @@ func (in *SecurityProfileCustomizationParameters) DeepCopyInto(out *SecurityProf } } } - if in.TunnelDigestAlgorithms != nil { - in, out := &in.TunnelDigestAlgorithms, &out.TunnelDigestAlgorithms - *out = make([]*string, len(*in)) - for i := range *in { - if (*in)[i] != nil { - in, out := &(*in)[i], &(*out)[i] - *out = new(string) - **out = **in - } - } + if in.SourceGroupsExcluded != nil { + in, out := &in.SourceGroupsExcluded, &out.SourceGroupsExcluded + *out = new(bool) + **out = **in } - if in.TunnelEncryptionAlgorithms != nil { - in, out := &in.TunnelEncryptionAlgorithms, &out.TunnelEncryptionAlgorithms + if in.SourceIds != nil { + in, out := &in.SourceIds, &out.SourceIds *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -23501,668 +23586,2034 @@ func (in *SecurityProfileCustomizationParameters) DeepCopyInto(out *SecurityProf } } } - if in.TunnelPfsEnabled != nil { - in, out := &in.TunnelPfsEnabled, &out.TunnelPfsEnabled - *out = new(bool) - **out = **in - } - if in.TunnelSaLifetime != nil { - in, out := &in.TunnelSaLifetime, &out.TunnelSaLifetime - *out = new(float64) - **out = **in - } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityProfileCustomizationParameters. -func (in *SecurityProfileCustomizationParameters) DeepCopy() *SecurityProfileCustomizationParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleParameters. +func (in *RuleParameters) DeepCopy() *RuleParameters { if in == nil { return nil } - out := new(SecurityProfileCustomizationParameters) + out := new(RuleParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ServiceObservation) DeepCopyInto(out *ServiceObservation) { +func (in *ScopeObservation) DeepCopyInto(out *ScopeObservation) { *out = *in - if in.Port != nil { - in, out := &in.Port, &out.Port + if in.ID != nil { + in, out := &in.ID, &out.ID *out = new(string) **out = **in } - if in.Protocol != nil { - in, out := &in.Protocol, &out.Protocol + if in.Name != nil { + in, out := &in.Name, &out.Name *out = new(string) **out = **in } - if in.SourcePort != nil { - in, out := &in.SourcePort, &out.SourcePort + if in.Type != nil { + in, out := &in.Type, &out.Type *out = new(string) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceObservation. -func (in *ServiceObservation) DeepCopy() *ServiceObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScopeObservation. +func (in *ScopeObservation) DeepCopy() *ScopeObservation { if in == nil { return nil } - out := new(ServiceObservation) + out := new(ScopeObservation) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ServiceParameters) DeepCopyInto(out *ServiceParameters) { +func (in *ScopeParameters) DeepCopyInto(out *ScopeParameters) { *out = *in - if in.Port != nil { - in, out := &in.Port, &out.Port - *out = new(string) - **out = **in - } - if in.Protocol != nil { - in, out := &in.Protocol, &out.Protocol + if in.ID != nil { + in, out := &in.ID, &out.ID *out = new(string) **out = **in } - if in.SourcePort != nil { - in, out := &in.SourcePort, &out.SourcePort + if in.Type != nil { + in, out := &in.Type, &out.Type *out = new(string) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceParameters. -func (in *ServiceParameters) DeepCopy() *ServiceParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScopeParameters. +func (in *ScopeParameters) DeepCopy() *ScopeParameters { if in == nil { return nil } - out := new(ServiceParameters) + out := new(ScopeParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ServicePortObservation) DeepCopyInto(out *ServicePortObservation) { +func (in *SecondaryStaticIPPoolObservation) DeepCopyInto(out *SecondaryStaticIPPoolObservation) { *out = *in - if in.EndPort != nil { - in, out := &in.EndPort, &out.EndPort - *out = new(float64) - **out = **in - } - if in.SSLEnabled != nil { - in, out := &in.SSLEnabled, &out.SSLEnabled - *out = new(bool) - **out = **in - } - if in.StartPort != nil { - in, out := &in.StartPort, &out.StartPort - *out = new(float64) + if in.EndAddress != nil { + in, out := &in.EndAddress, &out.EndAddress + *out = new(string) **out = **in } - if in.Type != nil { - in, out := &in.Type, &out.Type + if in.StartAddress != nil { + in, out := &in.StartAddress, &out.StartAddress *out = new(string) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePortObservation. -func (in *ServicePortObservation) DeepCopy() *ServicePortObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryStaticIPPoolObservation. +func (in *SecondaryStaticIPPoolObservation) DeepCopy() *SecondaryStaticIPPoolObservation { if in == nil { return nil } - out := new(ServicePortObservation) + out := new(SecondaryStaticIPPoolObservation) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ServicePortParameters) DeepCopyInto(out *ServicePortParameters) { +func (in *SecondaryStaticIPPoolParameters) DeepCopyInto(out *SecondaryStaticIPPoolParameters) { *out = *in - if in.EndPort != nil { - in, out := &in.EndPort, &out.EndPort - *out = new(float64) - **out = **in - } - if in.SSLEnabled != nil { - in, out := &in.SSLEnabled, &out.SSLEnabled - *out = new(bool) - **out = **in - } - if in.StartPort != nil { - in, out := &in.StartPort, &out.StartPort - *out = new(float64) + if in.EndAddress != nil { + in, out := &in.EndAddress, &out.EndAddress + *out = new(string) **out = **in } - if in.Type != nil { - in, out := &in.Type, &out.Type + if in.StartAddress != nil { + in, out := &in.StartAddress, &out.StartAddress *out = new(string) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePortParameters. -func (in *ServicePortParameters) DeepCopy() *ServicePortParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryStaticIPPoolParameters. +func (in *SecondaryStaticIPPoolParameters) DeepCopy() *SecondaryStaticIPPoolParameters { if in == nil { return nil } - out := new(ServicePortParameters) + out := new(SecondaryStaticIPPoolParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SharedWithObservation) DeepCopyInto(out *SharedWithObservation) { +func (in *SecurityProfileCustomizationObservation) DeepCopyInto(out *SecurityProfileCustomizationObservation) { *out = *in - if in.AccessLevel != nil { - in, out := &in.AccessLevel, &out.AccessLevel - *out = new(string) - **out = **in - } - if in.GroupID != nil { - in, out := &in.GroupID, &out.GroupID - *out = new(string) + if in.DpdProbeInternal != nil { + in, out := &in.DpdProbeInternal, &out.DpdProbeInternal + *out = new(float64) **out = **in } - if in.SubjectName != nil { - in, out := &in.SubjectName, &out.SubjectName - *out = new(string) - **out = **in + if in.IkeDhGroups != nil { + in, out := &in.IkeDhGroups, &out.IkeDhGroups + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } } - if in.UserID != nil { - in, out := &in.UserID, &out.UserID - *out = new(string) - **out = **in + if in.IkeDigestAlgorithms != nil { + in, out := &in.IkeDigestAlgorithms, &out.IkeDigestAlgorithms + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedWithObservation. -func (in *SharedWithObservation) DeepCopy() *SharedWithObservation { - if in == nil { - return nil + if in.IkeEncryptionAlgorithms != nil { + in, out := &in.IkeEncryptionAlgorithms, &out.IkeEncryptionAlgorithms + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } } - out := new(SharedWithObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SharedWithParameters) DeepCopyInto(out *SharedWithParameters) { - *out = *in - if in.AccessLevel != nil { - in, out := &in.AccessLevel, &out.AccessLevel - *out = new(string) + if in.IkeSaLifetime != nil { + in, out := &in.IkeSaLifetime, &out.IkeSaLifetime + *out = new(float64) **out = **in } - if in.GroupID != nil { - in, out := &in.GroupID, &out.GroupID + if in.IkeVersion != nil { + in, out := &in.IkeVersion, &out.IkeVersion *out = new(string) **out = **in } - if in.UserID != nil { - in, out := &in.UserID, &out.UserID + if in.TunnelDfPolicy != nil { + in, out := &in.TunnelDfPolicy, &out.TunnelDfPolicy *out = new(string) **out = **in } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedWithParameters. -func (in *SharedWithParameters) DeepCopy() *SharedWithParameters { - if in == nil { - return nil - } - out := new(SharedWithParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SourceObservation) DeepCopyInto(out *SourceObservation) { - *out = *in - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in + if in.TunnelDhGroups != nil { + in, out := &in.TunnelDhGroups, &out.TunnelDhGroups + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } } - if in.Type != nil { - in, out := &in.Type, &out.Type - *out = new(string) + if in.TunnelDigestAlgorithms != nil { + in, out := &in.TunnelDigestAlgorithms, &out.TunnelDigestAlgorithms + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.TunnelEncryptionAlgorithms != nil { + in, out := &in.TunnelEncryptionAlgorithms, &out.TunnelEncryptionAlgorithms + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.TunnelPfsEnabled != nil { + in, out := &in.TunnelPfsEnabled, &out.TunnelPfsEnabled + *out = new(bool) **out = **in } - if in.Value != nil { - in, out := &in.Value, &out.Value - *out = new(string) + if in.TunnelSaLifetime != nil { + in, out := &in.TunnelSaLifetime, &out.TunnelSaLifetime + *out = new(float64) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceObservation. -func (in *SourceObservation) DeepCopy() *SourceObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityProfileCustomizationObservation. +func (in *SecurityProfileCustomizationObservation) DeepCopy() *SecurityProfileCustomizationObservation { if in == nil { return nil } - out := new(SourceObservation) + out := new(SecurityProfileCustomizationObservation) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SourceParameters) DeepCopyInto(out *SourceParameters) { +func (in *SecurityProfileCustomizationParameters) DeepCopyInto(out *SecurityProfileCustomizationParameters) { *out = *in - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) + if in.DpdProbeInternal != nil { + in, out := &in.DpdProbeInternal, &out.DpdProbeInternal + *out = new(float64) **out = **in } - if in.Type != nil { - in, out := &in.Type, &out.Type + if in.IkeDhGroups != nil { + in, out := &in.IkeDhGroups, &out.IkeDhGroups + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.IkeDigestAlgorithms != nil { + in, out := &in.IkeDigestAlgorithms, &out.IkeDigestAlgorithms + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.IkeEncryptionAlgorithms != nil { + in, out := &in.IkeEncryptionAlgorithms, &out.IkeEncryptionAlgorithms + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.IkeSaLifetime != nil { + in, out := &in.IkeSaLifetime, &out.IkeSaLifetime + *out = new(float64) + **out = **in + } + if in.IkeVersion != nil { + in, out := &in.IkeVersion, &out.IkeVersion *out = new(string) **out = **in } - if in.Value != nil { - in, out := &in.Value, &out.Value + if in.TunnelDfPolicy != nil { + in, out := &in.TunnelDfPolicy, &out.TunnelDfPolicy *out = new(string) **out = **in } + if in.TunnelDhGroups != nil { + in, out := &in.TunnelDhGroups, &out.TunnelDhGroups + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.TunnelDigestAlgorithms != nil { + in, out := &in.TunnelDigestAlgorithms, &out.TunnelDigestAlgorithms + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.TunnelEncryptionAlgorithms != nil { + in, out := &in.TunnelEncryptionAlgorithms, &out.TunnelEncryptionAlgorithms + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.TunnelPfsEnabled != nil { + in, out := &in.TunnelPfsEnabled, &out.TunnelPfsEnabled + *out = new(bool) + **out = **in + } + if in.TunnelSaLifetime != nil { + in, out := &in.TunnelSaLifetime, &out.TunnelSaLifetime + *out = new(float64) + **out = **in + } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceParameters. -func (in *SourceParameters) DeepCopy() *SourceParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityProfileCustomizationParameters. +func (in *SecurityProfileCustomizationParameters) DeepCopy() *SecurityProfileCustomizationParameters { if in == nil { return nil } - out := new(SourceParameters) + out := new(SecurityProfileCustomizationParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *StaticIPPoolObservation) DeepCopyInto(out *StaticIPPoolObservation) { +func (in *SecurityTag) DeepCopyInto(out *SecurityTag) { *out = *in - if in.EndAddress != nil { - in, out := &in.EndAddress, &out.EndAddress - *out = new(string) - **out = **in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityTag. +func (in *SecurityTag) DeepCopy() *SecurityTag { + if in == nil { + return nil } - if in.StartAddress != nil { - in, out := &in.StartAddress, &out.StartAddress - *out = new(string) - **out = **in + out := new(SecurityTag) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecurityTag) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c } + return nil } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticIPPoolObservation. -func (in *StaticIPPoolObservation) DeepCopy() *StaticIPPoolObservation { +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityTagList) DeepCopyInto(out *SecurityTagList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SecurityTag, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityTagList. +func (in *SecurityTagList) DeepCopy() *SecurityTagList { if in == nil { return nil } - out := new(StaticIPPoolObservation) + out := new(SecurityTagList) in.DeepCopyInto(out) return out } +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecurityTagList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *StaticIPPoolParameters) DeepCopyInto(out *StaticIPPoolParameters) { +func (in *SecurityTagObservation) DeepCopyInto(out *SecurityTagObservation) { *out = *in - if in.EndAddress != nil { - in, out := &in.EndAddress, &out.EndAddress + if in.ID != nil { + in, out := &in.ID, &out.ID *out = new(string) **out = **in } - if in.StartAddress != nil { - in, out := &in.StartAddress, &out.StartAddress + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Org != nil { + in, out := &in.Org, &out.Org *out = new(string) **out = **in } + if in.VMIds != nil { + in, out := &in.VMIds, &out.VMIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticIPPoolParameters. -func (in *StaticIPPoolParameters) DeepCopy() *StaticIPPoolParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityTagObservation. +func (in *SecurityTagObservation) DeepCopy() *SecurityTagObservation { if in == nil { return nil } - out := new(StaticIPPoolParameters) + out := new(SecurityTagObservation) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *StorageProfileObservation) DeepCopyInto(out *StorageProfileObservation) { +func (in *SecurityTagParameters) DeepCopyInto(out *SecurityTagParameters) { *out = *in - if in.Default != nil { - in, out := &in.Default, &out.Default - *out = new(bool) - **out = **in - } - if in.Enabled != nil { - in, out := &in.Enabled, &out.Enabled - *out = new(bool) - **out = **in - } - if in.Limit != nil { - in, out := &in.Limit, &out.Limit - *out = new(float64) - **out = **in - } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) **out = **in } - if in.StorageUsedInMb != nil { - in, out := &in.StorageUsedInMb, &out.StorageUsedInMb - *out = new(float64) + if in.Org != nil { + in, out := &in.Org, &out.Org + *out = new(string) **out = **in } -} - + if in.VMIds != nil { + in, out := &in.VMIds, &out.VMIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityTagParameters. +func (in *SecurityTagParameters) DeepCopy() *SecurityTagParameters { + if in == nil { + return nil + } + out := new(SecurityTagParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityTagSpec) DeepCopyInto(out *SecurityTagSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityTagSpec. +func (in *SecurityTagSpec) DeepCopy() *SecurityTagSpec { + if in == nil { + return nil + } + out := new(SecurityTagSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityTagStatus) DeepCopyInto(out *SecurityTagStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityTagStatus. +func (in *SecurityTagStatus) DeepCopy() *SecurityTagStatus { + if in == nil { + return nil + } + out := new(SecurityTagStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccount) DeepCopyInto(out *ServiceAccount) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccount. +func (in *ServiceAccount) DeepCopy() *ServiceAccount { + if in == nil { + return nil + } + out := new(ServiceAccount) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceAccount) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountList) DeepCopyInto(out *ServiceAccountList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceAccount, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountList. +func (in *ServiceAccountList) DeepCopy() *ServiceAccountList { + if in == nil { + return nil + } + out := new(ServiceAccountList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceAccountList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountObservation) DeepCopyInto(out *ServiceAccountObservation) { + *out = *in + if in.Active != nil { + in, out := &in.Active, &out.Active + *out = new(bool) + **out = **in + } + if in.AllowTokenFile != nil { + in, out := &in.AllowTokenFile, &out.AllowTokenFile + *out = new(bool) + **out = **in + } + if in.FileName != nil { + in, out := &in.FileName, &out.FileName + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Org != nil { + in, out := &in.Org, &out.Org + *out = new(string) + **out = **in + } + if in.RoleID != nil { + in, out := &in.RoleID, &out.RoleID + *out = new(string) + **out = **in + } + if in.SoftwareID != nil { + in, out := &in.SoftwareID, &out.SoftwareID + *out = new(string) + **out = **in + } + if in.SoftwareVersion != nil { + in, out := &in.SoftwareVersion, &out.SoftwareVersion + *out = new(string) + **out = **in + } + if in.URI != nil { + in, out := &in.URI, &out.URI + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountObservation. +func (in *ServiceAccountObservation) DeepCopy() *ServiceAccountObservation { + if in == nil { + return nil + } + out := new(ServiceAccountObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountParameters) DeepCopyInto(out *ServiceAccountParameters) { + *out = *in + if in.Active != nil { + in, out := &in.Active, &out.Active + *out = new(bool) + **out = **in + } + if in.AllowTokenFile != nil { + in, out := &in.AllowTokenFile, &out.AllowTokenFile + *out = new(bool) + **out = **in + } + if in.FileName != nil { + in, out := &in.FileName, &out.FileName + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Org != nil { + in, out := &in.Org, &out.Org + *out = new(string) + **out = **in + } + if in.RoleID != nil { + in, out := &in.RoleID, &out.RoleID + *out = new(string) + **out = **in + } + if in.SoftwareID != nil { + in, out := &in.SoftwareID, &out.SoftwareID + *out = new(string) + **out = **in + } + if in.SoftwareVersion != nil { + in, out := &in.SoftwareVersion, &out.SoftwareVersion + *out = new(string) + **out = **in + } + if in.URI != nil { + in, out := &in.URI, &out.URI + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountParameters. +func (in *ServiceAccountParameters) DeepCopy() *ServiceAccountParameters { + if in == nil { + return nil + } + out := new(ServiceAccountParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountSpec) DeepCopyInto(out *ServiceAccountSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountSpec. +func (in *ServiceAccountSpec) DeepCopy() *ServiceAccountSpec { + if in == nil { + return nil + } + out := new(ServiceAccountSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountStatus) DeepCopyInto(out *ServiceAccountStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountStatus. +func (in *ServiceAccountStatus) DeepCopy() *ServiceAccountStatus { + if in == nil { + return nil + } + out := new(ServiceAccountStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceObservation) DeepCopyInto(out *ServiceObservation) { + *out = *in + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(string) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } + if in.SourcePort != nil { + in, out := &in.SourcePort, &out.SourcePort + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceObservation. +func (in *ServiceObservation) DeepCopy() *ServiceObservation { + if in == nil { + return nil + } + out := new(ServiceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceParameters) DeepCopyInto(out *ServiceParameters) { + *out = *in + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(string) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } + if in.SourcePort != nil { + in, out := &in.SourcePort, &out.SourcePort + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceParameters. +func (in *ServiceParameters) DeepCopy() *ServiceParameters { + if in == nil { + return nil + } + out := new(ServiceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServicePortObservation) DeepCopyInto(out *ServicePortObservation) { + *out = *in + if in.EndPort != nil { + in, out := &in.EndPort, &out.EndPort + *out = new(float64) + **out = **in + } + if in.SSLEnabled != nil { + in, out := &in.SSLEnabled, &out.SSLEnabled + *out = new(bool) + **out = **in + } + if in.StartPort != nil { + in, out := &in.StartPort, &out.StartPort + *out = new(float64) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePortObservation. +func (in *ServicePortObservation) DeepCopy() *ServicePortObservation { + if in == nil { + return nil + } + out := new(ServicePortObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServicePortParameters) DeepCopyInto(out *ServicePortParameters) { + *out = *in + if in.EndPort != nil { + in, out := &in.EndPort, &out.EndPort + *out = new(float64) + **out = **in + } + if in.SSLEnabled != nil { + in, out := &in.SSLEnabled, &out.SSLEnabled + *out = new(bool) + **out = **in + } + if in.StartPort != nil { + in, out := &in.StartPort, &out.StartPort + *out = new(float64) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePortParameters. +func (in *ServicePortParameters) DeepCopy() *ServicePortParameters { + if in == nil { + return nil + } + out := new(ServicePortParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SharedWithObservation) DeepCopyInto(out *SharedWithObservation) { + *out = *in + if in.AccessLevel != nil { + in, out := &in.AccessLevel, &out.AccessLevel + *out = new(string) + **out = **in + } + if in.GroupID != nil { + in, out := &in.GroupID, &out.GroupID + *out = new(string) + **out = **in + } + if in.SubjectName != nil { + in, out := &in.SubjectName, &out.SubjectName + *out = new(string) + **out = **in + } + if in.UserID != nil { + in, out := &in.UserID, &out.UserID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedWithObservation. +func (in *SharedWithObservation) DeepCopy() *SharedWithObservation { + if in == nil { + return nil + } + out := new(SharedWithObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SharedWithParameters) DeepCopyInto(out *SharedWithParameters) { + *out = *in + if in.AccessLevel != nil { + in, out := &in.AccessLevel, &out.AccessLevel + *out = new(string) + **out = **in + } + if in.GroupID != nil { + in, out := &in.GroupID, &out.GroupID + *out = new(string) + **out = **in + } + if in.UserID != nil { + in, out := &in.UserID, &out.UserID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedWithParameters. +func (in *SharedWithParameters) DeepCopy() *SharedWithParameters { + if in == nil { + return nil + } + out := new(SharedWithParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceObservation) DeepCopyInto(out *SourceObservation) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceObservation. +func (in *SourceObservation) DeepCopy() *SourceObservation { + if in == nil { + return nil + } + out := new(SourceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceParameters) DeepCopyInto(out *SourceParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceParameters. +func (in *SourceParameters) DeepCopy() *SourceParameters { + if in == nil { + return nil + } + out := new(SourceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StaticIPPoolObservation) DeepCopyInto(out *StaticIPPoolObservation) { + *out = *in + if in.EndAddress != nil { + in, out := &in.EndAddress, &out.EndAddress + *out = new(string) + **out = **in + } + if in.StartAddress != nil { + in, out := &in.StartAddress, &out.StartAddress + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticIPPoolObservation. +func (in *StaticIPPoolObservation) DeepCopy() *StaticIPPoolObservation { + if in == nil { + return nil + } + out := new(StaticIPPoolObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StaticIPPoolParameters) DeepCopyInto(out *StaticIPPoolParameters) { + *out = *in + if in.EndAddress != nil { + in, out := &in.EndAddress, &out.EndAddress + *out = new(string) + **out = **in + } + if in.StartAddress != nil { + in, out := &in.StartAddress, &out.StartAddress + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticIPPoolParameters. +func (in *StaticIPPoolParameters) DeepCopy() *StaticIPPoolParameters { + if in == nil { + return nil + } + out := new(StaticIPPoolParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StorageProfileObservation) DeepCopyInto(out *StorageProfileObservation) { + *out = *in + if in.Default != nil { + in, out := &in.Default, &out.Default + *out = new(bool) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Limit != nil { + in, out := &in.Limit, &out.Limit + *out = new(float64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.StorageUsedInMb != nil { + in, out := &in.StorageUsedInMb, &out.StorageUsedInMb + *out = new(float64) + **out = **in + } +} + // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageProfileObservation. func (in *StorageProfileObservation) DeepCopy() *StorageProfileObservation { if in == nil { return nil } - out := new(StorageProfileObservation) + out := new(StorageProfileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StorageProfileParameters) DeepCopyInto(out *StorageProfileParameters) { + *out = *in + if in.Default != nil { + in, out := &in.Default, &out.Default + *out = new(bool) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Limit != nil { + in, out := &in.Limit, &out.Limit + *out = new(float64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageProfileParameters. +func (in *StorageProfileParameters) DeepCopy() *StorageProfileParameters { + if in == nil { + return nil + } + out := new(StorageProfileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SuballocatePoolObservation) DeepCopyInto(out *SuballocatePoolObservation) { + *out = *in + if in.EndAddress != nil { + in, out := &in.EndAddress, &out.EndAddress + *out = new(string) + **out = **in + } + if in.StartAddress != nil { + in, out := &in.StartAddress, &out.StartAddress + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SuballocatePoolObservation. +func (in *SuballocatePoolObservation) DeepCopy() *SuballocatePoolObservation { + if in == nil { + return nil + } + out := new(SuballocatePoolObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SuballocatePoolParameters) DeepCopyInto(out *SuballocatePoolParameters) { + *out = *in + if in.EndAddress != nil { + in, out := &in.EndAddress, &out.EndAddress + *out = new(string) + **out = **in + } + if in.StartAddress != nil { + in, out := &in.StartAddress, &out.StartAddress + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SuballocatePoolParameters. +func (in *SuballocatePoolParameters) DeepCopy() *SuballocatePoolParameters { + if in == nil { + return nil + } + out := new(SuballocatePoolParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetObservation) DeepCopyInto(out *SubnetObservation) { + *out = *in + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(string) + **out = **in + } + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.Netmask != nil { + in, out := &in.Netmask, &out.Netmask + *out = new(string) + **out = **in + } + if in.SuballocatePool != nil { + in, out := &in.SuballocatePool, &out.SuballocatePool + *out = make([]SuballocatePoolObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UseForDefaultRoute != nil { + in, out := &in.UseForDefaultRoute, &out.UseForDefaultRoute + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetObservation. +func (in *SubnetObservation) DeepCopy() *SubnetObservation { + if in == nil { + return nil + } + out := new(SubnetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetParameters) DeepCopyInto(out *SubnetParameters) { + *out = *in + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(string) + **out = **in + } + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.Netmask != nil { + in, out := &in.Netmask, &out.Netmask + *out = new(string) + **out = **in + } + if in.SuballocatePool != nil { + in, out := &in.SuballocatePool, &out.SuballocatePool + *out = make([]SuballocatePoolParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UseForDefaultRoute != nil { + in, out := &in.UseForDefaultRoute, &out.UseForDefaultRoute + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetParameters. +func (in *SubnetParameters) DeepCopy() *SubnetParameters { + if in == nil { + return nil + } + out := new(SubnetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetWithIPCountObservation) DeepCopyInto(out *SubnetWithIPCountObservation) { + *out = *in + if in.AllocatedIPCount != nil { + in, out := &in.AllocatedIPCount, &out.AllocatedIPCount + *out = new(float64) + **out = **in + } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(string) + **out = **in + } + if in.PrefixLength != nil { + in, out := &in.PrefixLength, &out.PrefixLength + *out = new(float64) + **out = **in + } + if in.PrimaryIP != nil { + in, out := &in.PrimaryIP, &out.PrimaryIP + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetWithIPCountObservation. +func (in *SubnetWithIPCountObservation) DeepCopy() *SubnetWithIPCountObservation { + if in == nil { + return nil + } + out := new(SubnetWithIPCountObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetWithIPCountParameters) DeepCopyInto(out *SubnetWithIPCountParameters) { + *out = *in + if in.AllocatedIPCount != nil { + in, out := &in.AllocatedIPCount, &out.AllocatedIPCount + *out = new(float64) + **out = **in + } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(string) + **out = **in + } + if in.PrefixLength != nil { + in, out := &in.PrefixLength, &out.PrefixLength + *out = new(float64) + **out = **in + } + if in.PrimaryIP != nil { + in, out := &in.PrimaryIP, &out.PrimaryIP + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetWithIPCountParameters. +func (in *SubnetWithIPCountParameters) DeepCopy() *SubnetWithIPCountParameters { + if in == nil { + return nil + } + out := new(SubnetWithIPCountParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetWithTotalIPCountObservation) DeepCopyInto(out *SubnetWithTotalIPCountObservation) { + *out = *in + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(string) + **out = **in + } + if in.PrefixLength != nil { + in, out := &in.PrefixLength, &out.PrefixLength + *out = new(float64) + **out = **in + } + if in.PrimaryIP != nil { + in, out := &in.PrimaryIP, &out.PrimaryIP + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetWithTotalIPCountObservation. +func (in *SubnetWithTotalIPCountObservation) DeepCopy() *SubnetWithTotalIPCountObservation { + if in == nil { + return nil + } + out := new(SubnetWithTotalIPCountObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetWithTotalIPCountParameters) DeepCopyInto(out *SubnetWithTotalIPCountParameters) { + *out = *in + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(string) + **out = **in + } + if in.PrefixLength != nil { + in, out := &in.PrefixLength, &out.PrefixLength + *out = new(float64) + **out = **in + } + if in.PrimaryIP != nil { + in, out := &in.PrimaryIP, &out.PrimaryIP + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetWithTotalIPCountParameters. +func (in *SubnetWithTotalIPCountParameters) DeepCopy() *SubnetWithTotalIPCountParameters { + if in == nil { + return nil + } + out := new(SubnetWithTotalIPCountParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscribedCatalog) DeepCopyInto(out *SubscribedCatalog) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscribedCatalog. +func (in *SubscribedCatalog) DeepCopy() *SubscribedCatalog { + if in == nil { + return nil + } + out := new(SubscribedCatalog) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubscribedCatalog) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscribedCatalogList) DeepCopyInto(out *SubscribedCatalogList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SubscribedCatalog, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscribedCatalogList. +func (in *SubscribedCatalogList) DeepCopy() *SubscribedCatalogList { + if in == nil { + return nil + } + out := new(SubscribedCatalogList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubscribedCatalogList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscribedCatalogObservation) DeepCopyInto(out *SubscribedCatalogObservation) { + *out = *in + if in.CancelFailedTasks != nil { + in, out := &in.CancelFailedTasks, &out.CancelFailedTasks + *out = new(bool) + **out = **in + } + if in.CatalogVersion != nil { + in, out := &in.CatalogVersion, &out.CatalogVersion + *out = new(float64) + **out = **in + } + if in.Created != nil { + in, out := &in.Created, &out.Created + *out = new(string) + **out = **in + } + if in.DeleteForce != nil { + in, out := &in.DeleteForce, &out.DeleteForce + *out = new(bool) + **out = **in + } + if in.DeleteRecursive != nil { + in, out := &in.DeleteRecursive, &out.DeleteRecursive + *out = new(bool) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.FailedTasks != nil { + in, out := &in.FailedTasks, &out.FailedTasks + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Href != nil { + in, out := &in.Href, &out.Href + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IsLocal != nil { + in, out := &in.IsLocal, &out.IsLocal + *out = new(bool) + **out = **in + } + if in.IsPublished != nil { + in, out := &in.IsPublished, &out.IsPublished + *out = new(bool) + **out = **in + } + if in.IsShared != nil { + in, out := &in.IsShared, &out.IsShared + *out = new(bool) + **out = **in + } + if in.MakeLocalCopy != nil { + in, out := &in.MakeLocalCopy, &out.MakeLocalCopy + *out = new(bool) + **out = **in + } + if in.MediaItemList != nil { + in, out := &in.MediaItemList, &out.MediaItemList + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + in, out := &val, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NumberOfMedia != nil { + in, out := &in.NumberOfMedia, &out.NumberOfMedia + *out = new(float64) + **out = **in + } + if in.NumberOfVappTemplates != nil { + in, out := &in.NumberOfVappTemplates, &out.NumberOfVappTemplates + *out = new(float64) + **out = **in + } + if in.Org != nil { + in, out := &in.Org, &out.Org + *out = new(string) + **out = **in + } + if in.OwnerName != nil { + in, out := &in.OwnerName, &out.OwnerName + *out = new(string) + **out = **in + } + if in.PublishSubscriptionType != nil { + in, out := &in.PublishSubscriptionType, &out.PublishSubscriptionType + *out = new(string) + **out = **in + } + if in.RunningTasks != nil { + in, out := &in.RunningTasks, &out.RunningTasks + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.StorageProfileID != nil { + in, out := &in.StorageProfileID, &out.StorageProfileID + *out = new(string) + **out = **in + } + if in.StoreTasks != nil { + in, out := &in.StoreTasks, &out.StoreTasks + *out = new(bool) + **out = **in + } + if in.SubscriptionURL != nil { + in, out := &in.SubscriptionURL, &out.SubscriptionURL + *out = new(string) + **out = **in + } + if in.SyncAll != nil { + in, out := &in.SyncAll, &out.SyncAll + *out = new(bool) + **out = **in + } + if in.SyncAllMediaItems != nil { + in, out := &in.SyncAllMediaItems, &out.SyncAllMediaItems + *out = new(bool) + **out = **in + } + if in.SyncAllVappTemplates != nil { + in, out := &in.SyncAllVappTemplates, &out.SyncAllVappTemplates + *out = new(bool) + **out = **in + } + if in.SyncCatalog != nil { + in, out := &in.SyncCatalog, &out.SyncCatalog + *out = new(bool) + **out = **in + } + if in.SyncMediaItems != nil { + in, out := &in.SyncMediaItems, &out.SyncMediaItems + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.SyncOnRefresh != nil { + in, out := &in.SyncOnRefresh, &out.SyncOnRefresh + *out = new(bool) + **out = **in + } + if in.SyncVappTemplates != nil { + in, out := &in.SyncVappTemplates, &out.SyncVappTemplates + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.TasksFileName != nil { + in, out := &in.TasksFileName, &out.TasksFileName + *out = new(string) + **out = **in + } + if in.VappTemplateList != nil { + in, out := &in.VappTemplateList, &out.VappTemplateList + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscribedCatalogObservation. +func (in *SubscribedCatalogObservation) DeepCopy() *SubscribedCatalogObservation { + if in == nil { + return nil + } + out := new(SubscribedCatalogObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscribedCatalogParameters) DeepCopyInto(out *SubscribedCatalogParameters) { + *out = *in + if in.CancelFailedTasks != nil { + in, out := &in.CancelFailedTasks, &out.CancelFailedTasks + *out = new(bool) + **out = **in + } + if in.DeleteForce != nil { + in, out := &in.DeleteForce, &out.DeleteForce + *out = new(bool) + **out = **in + } + if in.DeleteRecursive != nil { + in, out := &in.DeleteRecursive, &out.DeleteRecursive + *out = new(bool) + **out = **in + } + if in.MakeLocalCopy != nil { + in, out := &in.MakeLocalCopy, &out.MakeLocalCopy + *out = new(bool) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Org != nil { + in, out := &in.Org, &out.Org + *out = new(string) + **out = **in + } + if in.StorageProfileID != nil { + in, out := &in.StorageProfileID, &out.StorageProfileID + *out = new(string) + **out = **in + } + if in.StoreTasks != nil { + in, out := &in.StoreTasks, &out.StoreTasks + *out = new(bool) + **out = **in + } + if in.SubscriptionPasswordSecretRef != nil { + in, out := &in.SubscriptionPasswordSecretRef, &out.SubscriptionPasswordSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } + if in.SubscriptionURL != nil { + in, out := &in.SubscriptionURL, &out.SubscriptionURL + *out = new(string) + **out = **in + } + if in.SyncAll != nil { + in, out := &in.SyncAll, &out.SyncAll + *out = new(bool) + **out = **in + } + if in.SyncAllMediaItems != nil { + in, out := &in.SyncAllMediaItems, &out.SyncAllMediaItems + *out = new(bool) + **out = **in + } + if in.SyncAllVappTemplates != nil { + in, out := &in.SyncAllVappTemplates, &out.SyncAllVappTemplates + *out = new(bool) + **out = **in + } + if in.SyncCatalog != nil { + in, out := &in.SyncCatalog, &out.SyncCatalog + *out = new(bool) + **out = **in + } + if in.SyncMediaItems != nil { + in, out := &in.SyncMediaItems, &out.SyncMediaItems + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.SyncOnRefresh != nil { + in, out := &in.SyncOnRefresh, &out.SyncOnRefresh + *out = new(bool) + **out = **in + } + if in.SyncVappTemplates != nil { + in, out := &in.SyncVappTemplates, &out.SyncVappTemplates + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscribedCatalogParameters. +func (in *SubscribedCatalogParameters) DeepCopy() *SubscribedCatalogParameters { + if in == nil { + return nil + } + out := new(SubscribedCatalogParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *StorageProfileParameters) DeepCopyInto(out *StorageProfileParameters) { +func (in *SubscribedCatalogSpec) DeepCopyInto(out *SubscribedCatalogSpec) { *out = *in - if in.Default != nil { - in, out := &in.Default, &out.Default - *out = new(bool) - **out = **in - } - if in.Enabled != nil { - in, out := &in.Enabled, &out.Enabled - *out = new(bool) - **out = **in - } - if in.Limit != nil { - in, out := &in.Limit, &out.Limit - *out = new(float64) - **out = **in - } - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageProfileParameters. -func (in *StorageProfileParameters) DeepCopy() *StorageProfileParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscribedCatalogSpec. +func (in *SubscribedCatalogSpec) DeepCopy() *SubscribedCatalogSpec { if in == nil { return nil } - out := new(StorageProfileParameters) + out := new(SubscribedCatalogSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SuballocatePoolObservation) DeepCopyInto(out *SuballocatePoolObservation) { +func (in *SubscribedCatalogStatus) DeepCopyInto(out *SubscribedCatalogStatus) { *out = *in - if in.EndAddress != nil { - in, out := &in.EndAddress, &out.EndAddress - *out = new(string) - **out = **in - } - if in.StartAddress != nil { - in, out := &in.StartAddress, &out.StartAddress - *out = new(string) - **out = **in - } + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SuballocatePoolObservation. -func (in *SuballocatePoolObservation) DeepCopy() *SuballocatePoolObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscribedCatalogStatus. +func (in *SubscribedCatalogStatus) DeepCopy() *SubscribedCatalogStatus { if in == nil { return nil } - out := new(SuballocatePoolObservation) + out := new(SubscribedCatalogStatus) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SuballocatePoolParameters) DeepCopyInto(out *SuballocatePoolParameters) { +func (in *UiPlugin) DeepCopyInto(out *UiPlugin) { *out = *in - if in.EndAddress != nil { - in, out := &in.EndAddress, &out.EndAddress - *out = new(string) - **out = **in - } - if in.StartAddress != nil { - in, out := &in.StartAddress, &out.StartAddress - *out = new(string) - **out = **in - } + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SuballocatePoolParameters. -func (in *SuballocatePoolParameters) DeepCopy() *SuballocatePoolParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UiPlugin. +func (in *UiPlugin) DeepCopy() *UiPlugin { if in == nil { return nil } - out := new(SuballocatePoolParameters) + out := new(UiPlugin) in.DeepCopyInto(out) return out } +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *UiPlugin) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SubnetObservation) DeepCopyInto(out *SubnetObservation) { +func (in *UiPluginList) DeepCopyInto(out *UiPluginList) { *out = *in - if in.Gateway != nil { - in, out := &in.Gateway, &out.Gateway - *out = new(string) - **out = **in - } - if in.IPAddress != nil { - in, out := &in.IPAddress, &out.IPAddress - *out = new(string) - **out = **in - } - if in.Netmask != nil { - in, out := &in.Netmask, &out.Netmask - *out = new(string) - **out = **in - } - if in.SuballocatePool != nil { - in, out := &in.SuballocatePool, &out.SuballocatePool - *out = make([]SuballocatePoolObservation, len(*in)) + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]UiPlugin, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.UseForDefaultRoute != nil { - in, out := &in.UseForDefaultRoute, &out.UseForDefaultRoute - *out = new(bool) - **out = **in - } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetObservation. -func (in *SubnetObservation) DeepCopy() *SubnetObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UiPluginList. +func (in *UiPluginList) DeepCopy() *UiPluginList { if in == nil { return nil } - out := new(SubnetObservation) + out := new(UiPluginList) in.DeepCopyInto(out) return out } +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *UiPluginList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SubnetParameters) DeepCopyInto(out *SubnetParameters) { +func (in *UiPluginObservation) DeepCopyInto(out *UiPluginObservation) { *out = *in - if in.Gateway != nil { - in, out := &in.Gateway, &out.Gateway + if in.Description != nil { + in, out := &in.Description, &out.Description *out = new(string) **out = **in } - if in.IPAddress != nil { - in, out := &in.IPAddress, &out.IPAddress + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID *out = new(string) **out = **in } - if in.Netmask != nil { - in, out := &in.Netmask, &out.Netmask + if in.License != nil { + in, out := &in.License, &out.License *out = new(string) **out = **in } - if in.SuballocatePool != nil { - in, out := &in.SuballocatePool, &out.SuballocatePool - *out = make([]SuballocatePoolParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + if in.Link != nil { + in, out := &in.Link, &out.Link + *out = new(string) + **out = **in } - if in.UseForDefaultRoute != nil { - in, out := &in.UseForDefaultRoute, &out.UseForDefaultRoute - *out = new(bool) + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) **out = **in } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetParameters. -func (in *SubnetParameters) DeepCopy() *SubnetParameters { - if in == nil { - return nil + if in.PluginPath != nil { + in, out := &in.PluginPath, &out.PluginPath + *out = new(string) + **out = **in } - out := new(SubnetParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SubnetWithIPCountObservation) DeepCopyInto(out *SubnetWithIPCountObservation) { - *out = *in - if in.AllocatedIPCount != nil { - in, out := &in.AllocatedIPCount, &out.AllocatedIPCount - *out = new(float64) + if in.ProviderScoped != nil { + in, out := &in.ProviderScoped, &out.ProviderScoped + *out = new(bool) **out = **in } - if in.Gateway != nil { - in, out := &in.Gateway, &out.Gateway + if in.Status != nil { + in, out := &in.Status, &out.Status *out = new(string) **out = **in } - if in.PrefixLength != nil { - in, out := &in.PrefixLength, &out.PrefixLength - *out = new(float64) + if in.TenantIds != nil { + in, out := &in.TenantIds, &out.TenantIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.TenantScoped != nil { + in, out := &in.TenantScoped, &out.TenantScoped + *out = new(bool) **out = **in } - if in.PrimaryIP != nil { - in, out := &in.PrimaryIP, &out.PrimaryIP + if in.Vendor != nil { + in, out := &in.Vendor, &out.Vendor + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version *out = new(string) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetWithIPCountObservation. -func (in *SubnetWithIPCountObservation) DeepCopy() *SubnetWithIPCountObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UiPluginObservation. +func (in *UiPluginObservation) DeepCopy() *UiPluginObservation { if in == nil { return nil } - out := new(SubnetWithIPCountObservation) + out := new(UiPluginObservation) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SubnetWithIPCountParameters) DeepCopyInto(out *SubnetWithIPCountParameters) { +func (in *UiPluginParameters) DeepCopyInto(out *UiPluginParameters) { *out = *in - if in.AllocatedIPCount != nil { - in, out := &in.AllocatedIPCount, &out.AllocatedIPCount - *out = new(float64) + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) **out = **in } - if in.Gateway != nil { - in, out := &in.Gateway, &out.Gateway + if in.PluginPath != nil { + in, out := &in.PluginPath, &out.PluginPath *out = new(string) **out = **in } - if in.PrefixLength != nil { - in, out := &in.PrefixLength, &out.PrefixLength - *out = new(float64) + if in.ProviderScoped != nil { + in, out := &in.ProviderScoped, &out.ProviderScoped + *out = new(bool) **out = **in } - if in.PrimaryIP != nil { - in, out := &in.PrimaryIP, &out.PrimaryIP - *out = new(string) + if in.TenantIds != nil { + in, out := &in.TenantIds, &out.TenantIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.TenantScoped != nil { + in, out := &in.TenantScoped, &out.TenantScoped + *out = new(bool) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetWithIPCountParameters. -func (in *SubnetWithIPCountParameters) DeepCopy() *SubnetWithIPCountParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UiPluginParameters. +func (in *UiPluginParameters) DeepCopy() *UiPluginParameters { if in == nil { return nil } - out := new(SubnetWithIPCountParameters) + out := new(UiPluginParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SubnetWithTotalIPCountObservation) DeepCopyInto(out *SubnetWithTotalIPCountObservation) { +func (in *UiPluginSpec) DeepCopyInto(out *UiPluginSpec) { *out = *in - if in.Gateway != nil { - in, out := &in.Gateway, &out.Gateway - *out = new(string) - **out = **in - } - if in.PrefixLength != nil { - in, out := &in.PrefixLength, &out.PrefixLength - *out = new(float64) - **out = **in - } - if in.PrimaryIP != nil { - in, out := &in.PrimaryIP, &out.PrimaryIP - *out = new(string) - **out = **in - } + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetWithTotalIPCountObservation. -func (in *SubnetWithTotalIPCountObservation) DeepCopy() *SubnetWithTotalIPCountObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UiPluginSpec. +func (in *UiPluginSpec) DeepCopy() *UiPluginSpec { if in == nil { return nil } - out := new(SubnetWithTotalIPCountObservation) + out := new(UiPluginSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SubnetWithTotalIPCountParameters) DeepCopyInto(out *SubnetWithTotalIPCountParameters) { +func (in *UiPluginStatus) DeepCopyInto(out *UiPluginStatus) { *out = *in - if in.Gateway != nil { - in, out := &in.Gateway, &out.Gateway - *out = new(string) - **out = **in - } - if in.PrefixLength != nil { - in, out := &in.PrefixLength, &out.PrefixLength - *out = new(float64) - **out = **in - } - if in.PrimaryIP != nil { - in, out := &in.PrimaryIP, &out.PrimaryIP - *out = new(string) - **out = **in - } + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetWithTotalIPCountParameters. -func (in *SubnetWithTotalIPCountParameters) DeepCopy() *SubnetWithTotalIPCountParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UiPluginStatus. +func (in *UiPluginStatus) DeepCopy() *UiPluginStatus { if in == nil { return nil } - out := new(SubnetWithTotalIPCountParameters) + out := new(UiPluginStatus) in.DeepCopyInto(out) return out } diff --git a/apis/vcd/v1alpha1/zz_generated.managed.go b/apis/vcd/v1alpha1/zz_generated.managed.go index 6e4cdb1..ea82bc3 100644 --- a/apis/vcd/v1alpha1/zz_generated.managed.go +++ b/apis/vcd/v1alpha1/zz_generated.managed.go @@ -5706,3 +5706,459 @@ func (mg *RdeTypeBehaviorAcl) SetPublishConnectionDetailsTo(r *xpv1.PublishConne func (mg *RdeTypeBehaviorAcl) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r } + +// GetCondition of this RightsBundle. +func (mg *RightsBundle) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RightsBundle. +func (mg *RightsBundle) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicy of this RightsBundle. +func (mg *RightsBundle) GetManagementPolicy() xpv1.ManagementPolicy { + return mg.Spec.ManagementPolicy +} + +// GetProviderConfigReference of this RightsBundle. +func (mg *RightsBundle) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RightsBundle. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RightsBundle) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this RightsBundle. +func (mg *RightsBundle) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this RightsBundle. +func (mg *RightsBundle) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RightsBundle. +func (mg *RightsBundle) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RightsBundle. +func (mg *RightsBundle) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicy of this RightsBundle. +func (mg *RightsBundle) SetManagementPolicy(r xpv1.ManagementPolicy) { + mg.Spec.ManagementPolicy = r +} + +// SetProviderConfigReference of this RightsBundle. +func (mg *RightsBundle) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RightsBundle. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RightsBundle) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this RightsBundle. +func (mg *RightsBundle) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this RightsBundle. +func (mg *RightsBundle) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Role. +func (mg *Role) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Role. +func (mg *Role) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicy of this Role. +func (mg *Role) GetManagementPolicy() xpv1.ManagementPolicy { + return mg.Spec.ManagementPolicy +} + +// GetProviderConfigReference of this Role. +func (mg *Role) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Role. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Role) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this Role. +func (mg *Role) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this Role. +func (mg *Role) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Role. +func (mg *Role) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Role. +func (mg *Role) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicy of this Role. +func (mg *Role) SetManagementPolicy(r xpv1.ManagementPolicy) { + mg.Spec.ManagementPolicy = r +} + +// SetProviderConfigReference of this Role. +func (mg *Role) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Role. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Role) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this Role. +func (mg *Role) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this Role. +func (mg *Role) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SecurityTag. +func (mg *SecurityTag) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SecurityTag. +func (mg *SecurityTag) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicy of this SecurityTag. +func (mg *SecurityTag) GetManagementPolicy() xpv1.ManagementPolicy { + return mg.Spec.ManagementPolicy +} + +// GetProviderConfigReference of this SecurityTag. +func (mg *SecurityTag) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SecurityTag. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SecurityTag) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this SecurityTag. +func (mg *SecurityTag) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this SecurityTag. +func (mg *SecurityTag) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SecurityTag. +func (mg *SecurityTag) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SecurityTag. +func (mg *SecurityTag) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicy of this SecurityTag. +func (mg *SecurityTag) SetManagementPolicy(r xpv1.ManagementPolicy) { + mg.Spec.ManagementPolicy = r +} + +// SetProviderConfigReference of this SecurityTag. +func (mg *SecurityTag) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SecurityTag. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SecurityTag) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this SecurityTag. +func (mg *SecurityTag) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this SecurityTag. +func (mg *SecurityTag) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceAccount. +func (mg *ServiceAccount) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceAccount. +func (mg *ServiceAccount) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicy of this ServiceAccount. +func (mg *ServiceAccount) GetManagementPolicy() xpv1.ManagementPolicy { + return mg.Spec.ManagementPolicy +} + +// GetProviderConfigReference of this ServiceAccount. +func (mg *ServiceAccount) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceAccount. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceAccount) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this ServiceAccount. +func (mg *ServiceAccount) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this ServiceAccount. +func (mg *ServiceAccount) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceAccount. +func (mg *ServiceAccount) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceAccount. +func (mg *ServiceAccount) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicy of this ServiceAccount. +func (mg *ServiceAccount) SetManagementPolicy(r xpv1.ManagementPolicy) { + mg.Spec.ManagementPolicy = r +} + +// SetProviderConfigReference of this ServiceAccount. +func (mg *ServiceAccount) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceAccount. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceAccount) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this ServiceAccount. +func (mg *ServiceAccount) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this ServiceAccount. +func (mg *ServiceAccount) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SubscribedCatalog. +func (mg *SubscribedCatalog) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SubscribedCatalog. +func (mg *SubscribedCatalog) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicy of this SubscribedCatalog. +func (mg *SubscribedCatalog) GetManagementPolicy() xpv1.ManagementPolicy { + return mg.Spec.ManagementPolicy +} + +// GetProviderConfigReference of this SubscribedCatalog. +func (mg *SubscribedCatalog) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SubscribedCatalog. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SubscribedCatalog) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this SubscribedCatalog. +func (mg *SubscribedCatalog) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this SubscribedCatalog. +func (mg *SubscribedCatalog) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SubscribedCatalog. +func (mg *SubscribedCatalog) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SubscribedCatalog. +func (mg *SubscribedCatalog) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicy of this SubscribedCatalog. +func (mg *SubscribedCatalog) SetManagementPolicy(r xpv1.ManagementPolicy) { + mg.Spec.ManagementPolicy = r +} + +// SetProviderConfigReference of this SubscribedCatalog. +func (mg *SubscribedCatalog) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SubscribedCatalog. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SubscribedCatalog) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this SubscribedCatalog. +func (mg *SubscribedCatalog) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this SubscribedCatalog. +func (mg *SubscribedCatalog) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this UiPlugin. +func (mg *UiPlugin) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this UiPlugin. +func (mg *UiPlugin) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicy of this UiPlugin. +func (mg *UiPlugin) GetManagementPolicy() xpv1.ManagementPolicy { + return mg.Spec.ManagementPolicy +} + +// GetProviderConfigReference of this UiPlugin. +func (mg *UiPlugin) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this UiPlugin. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *UiPlugin) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetPublishConnectionDetailsTo of this UiPlugin. +func (mg *UiPlugin) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this UiPlugin. +func (mg *UiPlugin) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this UiPlugin. +func (mg *UiPlugin) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this UiPlugin. +func (mg *UiPlugin) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicy of this UiPlugin. +func (mg *UiPlugin) SetManagementPolicy(r xpv1.ManagementPolicy) { + mg.Spec.ManagementPolicy = r +} + +// SetProviderConfigReference of this UiPlugin. +func (mg *UiPlugin) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this UiPlugin. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *UiPlugin) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetPublishConnectionDetailsTo of this UiPlugin. +func (mg *UiPlugin) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this UiPlugin. +func (mg *UiPlugin) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/vcd/v1alpha1/zz_generated.managedlist.go b/apis/vcd/v1alpha1/zz_generated.managedlist.go index a71a32a..e62baf7 100644 --- a/apis/vcd/v1alpha1/zz_generated.managedlist.go +++ b/apis/vcd/v1alpha1/zz_generated.managedlist.go @@ -681,3 +681,57 @@ func (l *RdeTypeList) GetItems() []resource.Managed { } return items } + +// GetItems of this RightsBundleList. +func (l *RightsBundleList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this RoleList. +func (l *RoleList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this SecurityTagList. +func (l *SecurityTagList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this ServiceAccountList. +func (l *ServiceAccountList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this SubscribedCatalogList. +func (l *SubscribedCatalogList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this UiPluginList. +func (l *UiPluginList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} diff --git a/apis/vcd/v1alpha1/zz_generated_terraformed.go b/apis/vcd/v1alpha1/zz_generated_terraformed.go index c263a29..7ad031a 100755 --- a/apis/vcd/v1alpha1/zz_generated_terraformed.go +++ b/apis/vcd/v1alpha1/zz_generated_terraformed.go @@ -5562,3 +5562,447 @@ func (tr *RdeTypeBehaviorAcl) LateInitialize(attrs []byte) (bool, error) { func (tr *RdeTypeBehaviorAcl) GetTerraformSchemaVersion() int { return 0 } + +// GetTerraformResourceType returns Terraform resource type for this RightsBundle +func (mg *RightsBundle) GetTerraformResourceType() string { + return "vcd_rights_bundle" +} + +// GetConnectionDetailsMapping for this RightsBundle +func (tr *RightsBundle) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RightsBundle +func (tr *RightsBundle) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RightsBundle +func (tr *RightsBundle) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this RightsBundle +func (tr *RightsBundle) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RightsBundle +func (tr *RightsBundle) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RightsBundle +func (tr *RightsBundle) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RightsBundle using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RightsBundle) LateInitialize(attrs []byte) (bool, error) { + params := &RightsBundleParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *RightsBundle) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this Role +func (mg *Role) GetTerraformResourceType() string { + return "vcd_role" +} + +// GetConnectionDetailsMapping for this Role +func (tr *Role) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Role +func (tr *Role) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Role +func (tr *Role) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Role +func (tr *Role) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Role +func (tr *Role) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Role +func (tr *Role) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Role using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Role) LateInitialize(attrs []byte) (bool, error) { + params := &RoleParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Role) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this SecurityTag +func (mg *SecurityTag) GetTerraformResourceType() string { + return "vcd_security_tag" +} + +// GetConnectionDetailsMapping for this SecurityTag +func (tr *SecurityTag) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SecurityTag +func (tr *SecurityTag) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SecurityTag +func (tr *SecurityTag) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this SecurityTag +func (tr *SecurityTag) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SecurityTag +func (tr *SecurityTag) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SecurityTag +func (tr *SecurityTag) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SecurityTag using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SecurityTag) LateInitialize(attrs []byte) (bool, error) { + params := &SecurityTagParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *SecurityTag) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this ServiceAccount +func (mg *ServiceAccount) GetTerraformResourceType() string { + return "vcd_service_account" +} + +// GetConnectionDetailsMapping for this ServiceAccount +func (tr *ServiceAccount) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceAccount +func (tr *ServiceAccount) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceAccount +func (tr *ServiceAccount) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this ServiceAccount +func (tr *ServiceAccount) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceAccount +func (tr *ServiceAccount) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceAccount +func (tr *ServiceAccount) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceAccount using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceAccount) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceAccountParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *ServiceAccount) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this SubscribedCatalog +func (mg *SubscribedCatalog) GetTerraformResourceType() string { + return "vcd_subscribed_catalog" +} + +// GetConnectionDetailsMapping for this SubscribedCatalog +func (tr *SubscribedCatalog) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"subscription_password": "spec.forProvider.subscriptionPasswordSecretRef"} +} + +// GetObservation of this SubscribedCatalog +func (tr *SubscribedCatalog) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SubscribedCatalog +func (tr *SubscribedCatalog) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this SubscribedCatalog +func (tr *SubscribedCatalog) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SubscribedCatalog +func (tr *SubscribedCatalog) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SubscribedCatalog +func (tr *SubscribedCatalog) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SubscribedCatalog using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SubscribedCatalog) LateInitialize(attrs []byte) (bool, error) { + params := &SubscribedCatalogParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *SubscribedCatalog) GetTerraformSchemaVersion() int { + return 0 +} + +// GetTerraformResourceType returns Terraform resource type for this UiPlugin +func (mg *UiPlugin) GetTerraformResourceType() string { + return "vcd_ui_plugin" +} + +// GetConnectionDetailsMapping for this UiPlugin +func (tr *UiPlugin) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this UiPlugin +func (tr *UiPlugin) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this UiPlugin +func (tr *UiPlugin) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this UiPlugin +func (tr *UiPlugin) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this UiPlugin +func (tr *UiPlugin) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this UiPlugin +func (tr *UiPlugin) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this UiPlugin using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *UiPlugin) LateInitialize(attrs []byte) (bool, error) { + params := &UiPluginParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *UiPlugin) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/vcd/v1alpha1/zz_rightsbundle_types.go b/apis/vcd/v1alpha1/zz_rightsbundle_types.go new file mode 100755 index 0000000..804d915 --- /dev/null +++ b/apis/vcd/v1alpha1/zz_rightsbundle_types.go @@ -0,0 +1,115 @@ +/* +Copyright 2023 ANKASOFT +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type RightsBundleObservation struct { + + // Key used for internationalization + BundleKey *string `json:"bundleKey,omitempty" tf:"bundle_key,omitempty"` + + // Rights bundle description + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Name of rights bundle. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // When true, publishes the rights bundle to all tenants + PublishToAllTenants *bool `json:"publishToAllTenants,omitempty" tf:"publish_to_all_tenants,omitempty"` + + // Whether this rights bundle is read-only + ReadOnly *bool `json:"readOnly,omitempty" tf:"read_only,omitempty"` + + // Set of rights assigned to this rights bundle + Rights []*string `json:"rights,omitempty" tf:"rights,omitempty"` + + // Set of tenants to which this rights bundle is published + Tenants []*string `json:"tenants,omitempty" tf:"tenants,omitempty"` +} + +type RightsBundleParameters struct { + + // Rights bundle description + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of rights bundle. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // When true, publishes the rights bundle to all tenants + // +kubebuilder:validation:Optional + PublishToAllTenants *bool `json:"publishToAllTenants,omitempty" tf:"publish_to_all_tenants,omitempty"` + + // Set of rights assigned to this rights bundle + // +kubebuilder:validation:Optional + Rights []*string `json:"rights,omitempty" tf:"rights,omitempty"` + + // Set of tenants to which this rights bundle is published + // +kubebuilder:validation:Optional + Tenants []*string `json:"tenants,omitempty" tf:"tenants,omitempty"` +} + +// RightsBundleSpec defines the desired state of RightsBundle +type RightsBundleSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RightsBundleParameters `json:"forProvider"` +} + +// RightsBundleStatus defines the observed state of RightsBundle. +type RightsBundleStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RightsBundleObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RightsBundle is the Schema for the RightsBundles API. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vcd} +type RightsBundle struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.description)",message="description is a required parameter" + // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)",message="name is a required parameter" + // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.publishToAllTenants)",message="publishToAllTenants is a required parameter" + Spec RightsBundleSpec `json:"spec"` + Status RightsBundleStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RightsBundleList contains a list of RightsBundles +type RightsBundleList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RightsBundle `json:"items"` +} + +// Repository type metadata. +var ( + RightsBundle_Kind = "RightsBundle" + RightsBundle_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RightsBundle_Kind}.String() + RightsBundle_KindAPIVersion = RightsBundle_Kind + "." + CRDGroupVersion.String() + RightsBundle_GroupVersionKind = CRDGroupVersion.WithKind(RightsBundle_Kind) +) + +func init() { + SchemeBuilder.Register(&RightsBundle{}, &RightsBundleList{}) +} diff --git a/apis/vcd/v1alpha1/zz_role_types.go b/apis/vcd/v1alpha1/zz_role_types.go new file mode 100755 index 0000000..ac7d764 --- /dev/null +++ b/apis/vcd/v1alpha1/zz_role_types.go @@ -0,0 +1,107 @@ +/* +Copyright 2023 ANKASOFT +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type RoleObservation struct { + + // Key used for internationalization + BundleKey *string `json:"bundleKey,omitempty" tf:"bundle_key,omitempty"` + + // Role description + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Name of Role. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organizations + Org *string `json:"org,omitempty" tf:"org,omitempty"` + + // Whether this role is read-only + ReadOnly *bool `json:"readOnly,omitempty" tf:"read_only,omitempty"` + + // Set of rights assigned to this role + Rights []*string `json:"rights,omitempty" tf:"rights,omitempty"` +} + +type RoleParameters struct { + + // Role description + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of Role. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organizations + // +kubebuilder:validation:Optional + Org *string `json:"org,omitempty" tf:"org,omitempty"` + + // Set of rights assigned to this role + // +kubebuilder:validation:Optional + Rights []*string `json:"rights,omitempty" tf:"rights,omitempty"` +} + +// RoleSpec defines the desired state of Role +type RoleSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RoleParameters `json:"forProvider"` +} + +// RoleStatus defines the observed state of Role. +type RoleStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RoleObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Role is the Schema for the Roles API. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vcd} +type Role struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.description)",message="description is a required parameter" + // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)",message="name is a required parameter" + Spec RoleSpec `json:"spec"` + Status RoleStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RoleList contains a list of Roles +type RoleList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Role `json:"items"` +} + +// Repository type metadata. +var ( + Role_Kind = "Role" + Role_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Role_Kind}.String() + Role_KindAPIVersion = Role_Kind + "." + CRDGroupVersion.String() + Role_GroupVersionKind = CRDGroupVersion.WithKind(Role_Kind) +) + +func init() { + SchemeBuilder.Register(&Role{}, &RoleList{}) +} diff --git a/apis/vcd/v1alpha1/zz_securitytag_types.go b/apis/vcd/v1alpha1/zz_securitytag_types.go new file mode 100755 index 0000000..f915ce4 --- /dev/null +++ b/apis/vcd/v1alpha1/zz_securitytag_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2023 ANKASOFT +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type SecurityTagObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Security tag name to be created + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organizations + Org *string `json:"org,omitempty" tf:"org,omitempty"` + + // List of VM IDs that the security tags is going to be tied to + VMIds []*string `json:"vmIds,omitempty" tf:"vm_ids,omitempty"` +} + +type SecurityTagParameters struct { + + // Security tag name to be created + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organizations + // +kubebuilder:validation:Optional + Org *string `json:"org,omitempty" tf:"org,omitempty"` + + // List of VM IDs that the security tags is going to be tied to + // +kubebuilder:validation:Optional + VMIds []*string `json:"vmIds,omitempty" tf:"vm_ids,omitempty"` +} + +// SecurityTagSpec defines the desired state of SecurityTag +type SecurityTagSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SecurityTagParameters `json:"forProvider"` +} + +// SecurityTagStatus defines the observed state of SecurityTag. +type SecurityTagStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SecurityTagObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecurityTag is the Schema for the SecurityTags API. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vcd} +type SecurityTag struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)",message="name is a required parameter" + // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.vmIds)",message="vmIds is a required parameter" + Spec SecurityTagSpec `json:"spec"` + Status SecurityTagStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecurityTagList contains a list of SecurityTags +type SecurityTagList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SecurityTag `json:"items"` +} + +// Repository type metadata. +var ( + SecurityTag_Kind = "SecurityTag" + SecurityTag_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SecurityTag_Kind}.String() + SecurityTag_KindAPIVersion = SecurityTag_Kind + "." + CRDGroupVersion.String() + SecurityTag_GroupVersionKind = CRDGroupVersion.WithKind(SecurityTag_Kind) +) + +func init() { + SchemeBuilder.Register(&SecurityTag{}, &SecurityTagList{}) +} diff --git a/apis/vcd/v1alpha1/zz_serviceaccount_types.go b/apis/vcd/v1alpha1/zz_serviceaccount_types.go new file mode 100755 index 0000000..6f15906 --- /dev/null +++ b/apis/vcd/v1alpha1/zz_serviceaccount_types.go @@ -0,0 +1,137 @@ +/* +Copyright 2023 ANKASOFT +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type ServiceAccountObservation struct { + + // Status of the service account. + Active *bool `json:"active,omitempty" tf:"active,omitempty"` + + // Set this to true if you understand the security risks of using API token files and would like to suppress the warnings + AllowTokenFile *bool `json:"allowTokenFile,omitempty" tf:"allow_token_file,omitempty"` + + // Name of the file that the API token will be saved to + FileName *string `json:"fileName,omitempty" tf:"file_name,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Name of service account + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organizations + Org *string `json:"org,omitempty" tf:"org,omitempty"` + + // Role ID of service account + RoleID *string `json:"roleId,omitempty" tf:"role_id,omitempty"` + + // Any valid UUID, depends on the user, e.g: 12345678-1234-5678-90ab-1234567890ab + SoftwareID *string `json:"softwareId,omitempty" tf:"software_id,omitempty"` + + // Version of software using the service account, can be freely defined by the user + SoftwareVersion *string `json:"softwareVersion,omitempty" tf:"software_version,omitempty"` + + // URI of the client using the service account, can be freely defined by the user + URI *string `json:"uri,omitempty" tf:"uri,omitempty"` +} + +type ServiceAccountParameters struct { + + // Status of the service account. + // +kubebuilder:validation:Optional + Active *bool `json:"active,omitempty" tf:"active,omitempty"` + + // Set this to true if you understand the security risks of using API token files and would like to suppress the warnings + // +kubebuilder:validation:Optional + AllowTokenFile *bool `json:"allowTokenFile,omitempty" tf:"allow_token_file,omitempty"` + + // Name of the file that the API token will be saved to + // +kubebuilder:validation:Optional + FileName *string `json:"fileName,omitempty" tf:"file_name,omitempty"` + + // Name of service account + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organizations + // +kubebuilder:validation:Optional + Org *string `json:"org,omitempty" tf:"org,omitempty"` + + // Role ID of service account + // +kubebuilder:validation:Optional + RoleID *string `json:"roleId,omitempty" tf:"role_id,omitempty"` + + // Any valid UUID, depends on the user, e.g: 12345678-1234-5678-90ab-1234567890ab + // +kubebuilder:validation:Optional + SoftwareID *string `json:"softwareId,omitempty" tf:"software_id,omitempty"` + + // Version of software using the service account, can be freely defined by the user + // +kubebuilder:validation:Optional + SoftwareVersion *string `json:"softwareVersion,omitempty" tf:"software_version,omitempty"` + + // URI of the client using the service account, can be freely defined by the user + // +kubebuilder:validation:Optional + URI *string `json:"uri,omitempty" tf:"uri,omitempty"` +} + +// ServiceAccountSpec defines the desired state of ServiceAccount +type ServiceAccountSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceAccountParameters `json:"forProvider"` +} + +// ServiceAccountStatus defines the observed state of ServiceAccount. +type ServiceAccountStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceAccountObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceAccount is the Schema for the ServiceAccounts API. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vcd} +type ServiceAccount struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)",message="name is a required parameter" + // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.roleId)",message="roleId is a required parameter" + // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.softwareId)",message="softwareId is a required parameter" + Spec ServiceAccountSpec `json:"spec"` + Status ServiceAccountStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceAccountList contains a list of ServiceAccounts +type ServiceAccountList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceAccount `json:"items"` +} + +// Repository type metadata. +var ( + ServiceAccount_Kind = "ServiceAccount" + ServiceAccount_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceAccount_Kind}.String() + ServiceAccount_KindAPIVersion = ServiceAccount_Kind + "." + CRDGroupVersion.String() + ServiceAccount_GroupVersionKind = CRDGroupVersion.WithKind(ServiceAccount_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceAccount{}, &ServiceAccountList{}) +} diff --git a/apis/vcd/v1alpha1/zz_subscribedcatalog_types.go b/apis/vcd/v1alpha1/zz_subscribedcatalog_types.go new file mode 100755 index 0000000..a8f624c --- /dev/null +++ b/apis/vcd/v1alpha1/zz_subscribedcatalog_types.go @@ -0,0 +1,240 @@ +/* +Copyright 2023 ANKASOFT +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type SubscribedCatalogObservation struct { + + // When true, the subscribed catalog will attempt canceling failed tasks + CancelFailedTasks *bool `json:"cancelFailedTasks,omitempty" tf:"cancel_failed_tasks,omitempty"` + + // Catalog version number. Inherited from publishing catalog and updated on sync. + CatalogVersion *float64 `json:"catalogVersion,omitempty" tf:"catalog_version,omitempty"` + + // Time stamp of when the catalog was created + Created *string `json:"created,omitempty" tf:"created,omitempty"` + + // When destroying use delete_force=True with delete_recursive=True to remove a catalog and any objects it contains, regardless of their state. + DeleteForce *bool `json:"deleteForce,omitempty" tf:"delete_force,omitempty"` + + // When destroying use delete_recursive=True to remove the catalog and any objects it contains that are in a state that normally allows removal. + DeleteRecursive *bool `json:"deleteRecursive,omitempty" tf:"delete_recursive,omitempty"` + + // A subscribed catalog description is inherited from the publisher catalog and cannot be changed. It is updated on sync + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // List of failed synchronization tasks + FailedTasks []*string `json:"failedTasks,omitempty" tf:"failed_tasks,omitempty"` + + // Catalog HREF + Href *string `json:"href,omitempty" tf:"href,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // True if this catalog belongs to the current organization. + IsLocal *bool `json:"isLocal,omitempty" tf:"is_local,omitempty"` + + // True if this catalog is published. (Always false) + IsPublished *bool `json:"isPublished,omitempty" tf:"is_published,omitempty"` + + // True if this catalog is shared. + IsShared *bool `json:"isShared,omitempty" tf:"is_shared,omitempty"` + + // If true, subscription to a catalog creates a local copy of all items. Defaults to false, which does not create a local copy of catalog items unless a sync operation is performed. + MakeLocalCopy *bool `json:"makeLocalCopy,omitempty" tf:"make_local_copy,omitempty"` + + // List of Media items in this catalog + MediaItemList []*string `json:"mediaItemList,omitempty" tf:"media_item_list,omitempty"` + + // Key and value pairs for catalog metadata. Inherited from publishing catalog + Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"` + + // The name of the catalog + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Number of Media items this catalog contains. + NumberOfMedia *float64 `json:"numberOfMedia,omitempty" tf:"number_of_media,omitempty"` + + // Number of vApp templates this catalog contains. + NumberOfVappTemplates *float64 `json:"numberOfVappTemplates,omitempty" tf:"number_of_vapp_templates,omitempty"` + + // The name of organization to use, optional if defined at provider level. + Org *string `json:"org,omitempty" tf:"org,omitempty"` + + // Owner name from the catalog. + OwnerName *string `json:"ownerName,omitempty" tf:"owner_name,omitempty"` + + // PUBLISHED if published externally, SUBSCRIBED if subscribed to an external catalog, UNPUBLISHED otherwise. (Always SUBSCRIBED) + PublishSubscriptionType *string `json:"publishSubscriptionType,omitempty" tf:"publish_subscription_type,omitempty"` + + // List of running synchronization tasks + RunningTasks []*string `json:"runningTasks,omitempty" tf:"running_tasks,omitempty"` + + // Optional storage profile ID + StorageProfileID *string `json:"storageProfileId,omitempty" tf:"storage_profile_id,omitempty"` + + // If true, saves list of tasks to file for later update + StoreTasks *bool `json:"storeTasks,omitempty" tf:"store_tasks,omitempty"` + + // The URL to subscribe to the external catalog. + SubscriptionURL *string `json:"subscriptionUrl,omitempty" tf:"subscription_url,omitempty"` + + // If true, synchronise this catalog and all items + SyncAll *bool `json:"syncAll,omitempty" tf:"sync_all,omitempty"` + + // If true, synchronises all media items + SyncAllMediaItems *bool `json:"syncAllMediaItems,omitempty" tf:"sync_all_media_items,omitempty"` + + // If true, synchronises all vApp templates + SyncAllVappTemplates *bool `json:"syncAllVappTemplates,omitempty" tf:"sync_all_vapp_templates,omitempty"` + + // If true, synchronise this catalog. This operation fetches the list of items. If `make_local_copy` is set, it also fetches the items data. + SyncCatalog *bool `json:"syncCatalog,omitempty" tf:"sync_catalog,omitempty"` + + // Synchronises media items from this list of names. + SyncMediaItems []*string `json:"syncMediaItems,omitempty" tf:"sync_media_items,omitempty"` + + // Boolean value that shows if sync should be performed on every refresh. + SyncOnRefresh *bool `json:"syncOnRefresh,omitempty" tf:"sync_on_refresh,omitempty"` + + // Synchronises vApp templates from this list of names. + SyncVappTemplates []*string `json:"syncVappTemplates,omitempty" tf:"sync_vapp_templates,omitempty"` + + // Where the running tasks IDs have been stored. Only if `store_tasks` is set + TasksFileName *string `json:"tasksFileName,omitempty" tf:"tasks_file_name,omitempty"` + + // List of catalog items in this catalog + VappTemplateList []*string `json:"vappTemplateList,omitempty" tf:"vapp_template_list,omitempty"` +} + +type SubscribedCatalogParameters struct { + + // When true, the subscribed catalog will attempt canceling failed tasks + // +kubebuilder:validation:Optional + CancelFailedTasks *bool `json:"cancelFailedTasks,omitempty" tf:"cancel_failed_tasks,omitempty"` + + // When destroying use delete_force=True with delete_recursive=True to remove a catalog and any objects it contains, regardless of their state. + // +kubebuilder:validation:Optional + DeleteForce *bool `json:"deleteForce,omitempty" tf:"delete_force,omitempty"` + + // When destroying use delete_recursive=True to remove the catalog and any objects it contains that are in a state that normally allows removal. + // +kubebuilder:validation:Optional + DeleteRecursive *bool `json:"deleteRecursive,omitempty" tf:"delete_recursive,omitempty"` + + // If true, subscription to a catalog creates a local copy of all items. Defaults to false, which does not create a local copy of catalog items unless a sync operation is performed. + // +kubebuilder:validation:Optional + MakeLocalCopy *bool `json:"makeLocalCopy,omitempty" tf:"make_local_copy,omitempty"` + + // The name of the catalog + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The name of organization to use, optional if defined at provider level. + // +kubebuilder:validation:Optional + Org *string `json:"org,omitempty" tf:"org,omitempty"` + + // Optional storage profile ID + // +kubebuilder:validation:Optional + StorageProfileID *string `json:"storageProfileId,omitempty" tf:"storage_profile_id,omitempty"` + + // If true, saves list of tasks to file for later update + // +kubebuilder:validation:Optional + StoreTasks *bool `json:"storeTasks,omitempty" tf:"store_tasks,omitempty"` + + // An optional password to access the catalog. Only ASCII characters are allowed in a valid password. Passing in six asterisks '******' indicates to keep current password. Passing in null or empty string indicates to remove password. + // +kubebuilder:validation:Optional + SubscriptionPasswordSecretRef *v1.SecretKeySelector `json:"subscriptionPasswordSecretRef,omitempty" tf:"-"` + + // The URL to subscribe to the external catalog. + // +kubebuilder:validation:Optional + SubscriptionURL *string `json:"subscriptionUrl,omitempty" tf:"subscription_url,omitempty"` + + // If true, synchronise this catalog and all items + // +kubebuilder:validation:Optional + SyncAll *bool `json:"syncAll,omitempty" tf:"sync_all,omitempty"` + + // If true, synchronises all media items + // +kubebuilder:validation:Optional + SyncAllMediaItems *bool `json:"syncAllMediaItems,omitempty" tf:"sync_all_media_items,omitempty"` + + // If true, synchronises all vApp templates + // +kubebuilder:validation:Optional + SyncAllVappTemplates *bool `json:"syncAllVappTemplates,omitempty" tf:"sync_all_vapp_templates,omitempty"` + + // If true, synchronise this catalog. This operation fetches the list of items. If `make_local_copy` is set, it also fetches the items data. + // +kubebuilder:validation:Optional + SyncCatalog *bool `json:"syncCatalog,omitempty" tf:"sync_catalog,omitempty"` + + // Synchronises media items from this list of names. + // +kubebuilder:validation:Optional + SyncMediaItems []*string `json:"syncMediaItems,omitempty" tf:"sync_media_items,omitempty"` + + // Boolean value that shows if sync should be performed on every refresh. + // +kubebuilder:validation:Optional + SyncOnRefresh *bool `json:"syncOnRefresh,omitempty" tf:"sync_on_refresh,omitempty"` + + // Synchronises vApp templates from this list of names. + // +kubebuilder:validation:Optional + SyncVappTemplates []*string `json:"syncVappTemplates,omitempty" tf:"sync_vapp_templates,omitempty"` +} + +// SubscribedCatalogSpec defines the desired state of SubscribedCatalog +type SubscribedCatalogSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SubscribedCatalogParameters `json:"forProvider"` +} + +// SubscribedCatalogStatus defines the observed state of SubscribedCatalog. +type SubscribedCatalogStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SubscribedCatalogObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubscribedCatalog is the Schema for the SubscribedCatalogs API. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vcd} +type SubscribedCatalog struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)",message="name is a required parameter" + // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subscriptionUrl)",message="subscriptionUrl is a required parameter" + Spec SubscribedCatalogSpec `json:"spec"` + Status SubscribedCatalogStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubscribedCatalogList contains a list of SubscribedCatalogs +type SubscribedCatalogList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SubscribedCatalog `json:"items"` +} + +// Repository type metadata. +var ( + SubscribedCatalog_Kind = "SubscribedCatalog" + SubscribedCatalog_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SubscribedCatalog_Kind}.String() + SubscribedCatalog_KindAPIVersion = SubscribedCatalog_Kind + "." + CRDGroupVersion.String() + SubscribedCatalog_GroupVersionKind = CRDGroupVersion.WithKind(SubscribedCatalog_Kind) +) + +func init() { + SchemeBuilder.Register(&SubscribedCatalog{}, &SubscribedCatalogList{}) +} diff --git a/apis/vcd/v1alpha1/zz_uiplugin_types.go b/apis/vcd/v1alpha1/zz_uiplugin_types.go new file mode 100755 index 0000000..b644a0d --- /dev/null +++ b/apis/vcd/v1alpha1/zz_uiplugin_types.go @@ -0,0 +1,128 @@ +/* +Copyright 2023 ANKASOFT +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type UiPluginObservation struct { + + // The description of the UI Plugin + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // true to make the UI Plugin enabled. 'false' to make it disabled + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // The license of the UI Plugin + License *string `json:"license,omitempty" tf:"license,omitempty"` + + // The website of the UI Plugin + Link *string `json:"link,omitempty" tf:"link,omitempty"` + + // The UI Plugin name + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Absolute or relative path to the ZIP file containing the UI Plugin + PluginPath *string `json:"pluginPath,omitempty" tf:"plugin_path,omitempty"` + + // This value is calculated automatically on create by reading the UI Plugin ZIP file contents. You can updateit to `true` to make it provider scoped or `false` otherwise + ProviderScoped *bool `json:"providerScoped,omitempty" tf:"provider_scoped,omitempty"` + + // The status of the UI Plugin + Status *string `json:"status,omitempty" tf:"status,omitempty"` + + // Set of organization IDs to which this UI Plugin must be published + TenantIds []*string `json:"tenantIds,omitempty" tf:"tenant_ids,omitempty"` + + // This value is calculated automatically on create by reading the UI Plugin ZIP file contents. You can updateit to `true` to make it tenant scoped or `false` otherwise + TenantScoped *bool `json:"tenantScoped,omitempty" tf:"tenant_scoped,omitempty"` + + // The UI Plugin vendor name + Vendor *string `json:"vendor,omitempty" tf:"vendor,omitempty"` + + // The version of the UI Plugin + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type UiPluginParameters struct { + + // true to make the UI Plugin enabled. 'false' to make it disabled + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // Absolute or relative path to the ZIP file containing the UI Plugin + // +kubebuilder:validation:Optional + PluginPath *string `json:"pluginPath,omitempty" tf:"plugin_path,omitempty"` + + // This value is calculated automatically on create by reading the UI Plugin ZIP file contents. You can updateit to `true` to make it provider scoped or `false` otherwise + // +kubebuilder:validation:Optional + ProviderScoped *bool `json:"providerScoped,omitempty" tf:"provider_scoped,omitempty"` + + // Set of organization IDs to which this UI Plugin must be published + // +kubebuilder:validation:Optional + TenantIds []*string `json:"tenantIds,omitempty" tf:"tenant_ids,omitempty"` + + // This value is calculated automatically on create by reading the UI Plugin ZIP file contents. You can updateit to `true` to make it tenant scoped or `false` otherwise + // +kubebuilder:validation:Optional + TenantScoped *bool `json:"tenantScoped,omitempty" tf:"tenant_scoped,omitempty"` +} + +// UiPluginSpec defines the desired state of UiPlugin +type UiPluginSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider UiPluginParameters `json:"forProvider"` +} + +// UiPluginStatus defines the observed state of UiPlugin. +type UiPluginStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider UiPluginObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// UiPlugin is the Schema for the UiPlugins API. +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vcd} +type UiPlugin struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.enabled)",message="enabled is a required parameter" + Spec UiPluginSpec `json:"spec"` + Status UiPluginStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// UiPluginList contains a list of UiPlugins +type UiPluginList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []UiPlugin `json:"items"` +} + +// Repository type metadata. +var ( + UiPlugin_Kind = "UiPlugin" + UiPlugin_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: UiPlugin_Kind}.String() + UiPlugin_KindAPIVersion = UiPlugin_Kind + "." + CRDGroupVersion.String() + UiPlugin_GroupVersionKind = CRDGroupVersion.WithKind(UiPlugin_Kind) +) + +func init() { + SchemeBuilder.Register(&UiPlugin{}, &UiPluginList{}) +} diff --git a/config/external_name.go b/config/external_name.go index 4434e9b..05e22c7 100644 --- a/config/external_name.go +++ b/config/external_name.go @@ -87,6 +87,12 @@ var ExternalNameConfigs = map[string]config.ExternalName{ "vcd_rde_type": config.IdentifierFromProvider, "vcd_rde_type_behavior": config.IdentifierFromProvider, "vcd_rde_type_behavior_acl": config.IdentifierFromProvider, + "vcd_rights_bundle": config.IdentifierFromProvider, + "vcd_role": config.IdentifierFromProvider, + "vcd_security_tag": config.IdentifierFromProvider, + "vcd_service_account": config.IdentifierFromProvider, + "vcd_subscribed_catalog": config.IdentifierFromProvider, + "vcd_ui_plugin": config.IdentifierFromProvider, } // ExternalNameConfigurations applies all external name configs listed in the diff --git a/config/provider.go b/config/provider.go index ef3d04d..68a5e2b 100644 --- a/config/provider.go +++ b/config/provider.go @@ -25,6 +25,12 @@ import ( org "github.com/ankasoftco/provider-vcd/config/org" providerVdc "github.com/ankasoftco/provider-vcd/config/provider_vdc" rde "github.com/ankasoftco/provider-vcd/config/rde" + rightsBundle "github.com/ankasoftco/provider-vcd/config/rights_bundle" + role "github.com/ankasoftco/provider-vcd/config/role" + securityTag "github.com/ankasoftco/provider-vcd/config/security_tag" + serviceAccount "github.com/ankasoftco/provider-vcd/config/service_account" + subscribedCatalog "github.com/ankasoftco/provider-vcd/config/subscribed_catalog" + uiPlugin "github.com/ankasoftco/provider-vcd/config/ui_plugin" ujconfig "github.com/upbound/upjet/pkg/config" ) @@ -69,6 +75,12 @@ func GetProvider() *ujconfig.Provider { org.Configure, providerVdc.Configure, rde.Configure, + rightsBundle.Configure, + role.Configure, + securityTag.Configure, + serviceAccount.Configure, + subscribedCatalog.Configure, + uiPlugin.Configure, } { configure(pc) } diff --git a/config/rights_bundle/config.go b/config/rights_bundle/config.go new file mode 100644 index 0000000..96374c6 --- /dev/null +++ b/config/rights_bundle/config.go @@ -0,0 +1,12 @@ +package rightsBundle + +import "github.com/upbound/upjet/pkg/config" + +// Configure configures individual resources by adding custom ResourceConfigurators. +func Configure(p *config.Provider) { + p.AddResourceConfigurator("vcd_rights_bundle", func(r *config.Resource) { + r.ShortGroup = "vcd" + r.Kind = "RightsBundle" + r.Version = "v1alpha1" + }) +} \ No newline at end of file diff --git a/config/role/config.go b/config/role/config.go new file mode 100644 index 0000000..dc72587 --- /dev/null +++ b/config/role/config.go @@ -0,0 +1,12 @@ +package role + +import "github.com/upbound/upjet/pkg/config" + +// Configure configures individual resources by adding custom ResourceConfigurators. +func Configure(p *config.Provider) { + p.AddResourceConfigurator("vcd_role", func(r *config.Resource) { + r.ShortGroup = "vcd" + r.Kind = "Role" + r.Version = "v1alpha1" + }) +} \ No newline at end of file diff --git a/config/security_tag/config.go b/config/security_tag/config.go new file mode 100644 index 0000000..387411f --- /dev/null +++ b/config/security_tag/config.go @@ -0,0 +1,12 @@ +package securityTag + +import "github.com/upbound/upjet/pkg/config" + +// Configure configures individual resources by adding custom ResourceConfigurators. +func Configure(p *config.Provider) { + p.AddResourceConfigurator("vcd_security_tag", func(r *config.Resource) { + r.ShortGroup = "vcd" + r.Kind = "SecurityTag" + r.Version = "v1alpha1" + }) +} \ No newline at end of file diff --git a/config/service_account/config.go b/config/service_account/config.go new file mode 100644 index 0000000..4962a1c --- /dev/null +++ b/config/service_account/config.go @@ -0,0 +1,12 @@ +package serviceAccount + +import "github.com/upbound/upjet/pkg/config" + +// Configure configures individual resources by adding custom ResourceConfigurators. +func Configure(p *config.Provider) { + p.AddResourceConfigurator("vcd_service_account", func(r *config.Resource) { + r.ShortGroup = "vcd" + r.Kind = "ServiceAccount" + r.Version = "v1alpha1" + }) +} \ No newline at end of file diff --git a/config/subscribed_catalog/config.go b/config/subscribed_catalog/config.go new file mode 100644 index 0000000..d15cfc6 --- /dev/null +++ b/config/subscribed_catalog/config.go @@ -0,0 +1,12 @@ +package subscribedCatalog + +import "github.com/upbound/upjet/pkg/config" + +// Configure configures individual resources by adding custom ResourceConfigurators. +func Configure(p *config.Provider) { + p.AddResourceConfigurator("vcd_subscribed_catalog", func(r *config.Resource) { + r.ShortGroup = "vcd" + r.Kind = "SubscribedCatalog" + r.Version = "v1alpha1" + }) +} \ No newline at end of file diff --git a/config/ui_plugin/config.go b/config/ui_plugin/config.go new file mode 100644 index 0000000..49acb8c --- /dev/null +++ b/config/ui_plugin/config.go @@ -0,0 +1,12 @@ +package uiPlugin + +import "github.com/upbound/upjet/pkg/config" + +// Configure configures individual resources by adding custom ResourceConfigurators. +func Configure(p *config.Provider) { + p.AddResourceConfigurator("vcd_ui_plugin", func(r *config.Resource) { + r.ShortGroup = "vcd" + r.Kind = "UiPlugin" + r.Version = "v1alpha1" + }) +} \ No newline at end of file diff --git a/internal/controller/vcd/rightsbundle/zz_controller.go b/internal/controller/vcd/rightsbundle/zz_controller.go new file mode 100755 index 0000000..a3eb15d --- /dev/null +++ b/internal/controller/vcd/rightsbundle/zz_controller.go @@ -0,0 +1,55 @@ +/* +Copyright 2023 ANKASOFT +*/ + +// Code generated by upjet. DO NOT EDIT. + +package rightsbundle + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1alpha1 "github.com/ankasoftco/provider-vcd/apis/vcd/v1alpha1" + features "github.com/ankasoftco/provider-vcd/internal/features" +) + +// Setup adds a controller that reconciles RightsBundle managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1alpha1.RightsBundle_GroupVersionKind.String()) + var initializers managed.InitializerChain + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } + opts := []managed.ReconcilerOption{ + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["vcd_rights_bundle"], tjcontroller.WithLogger(o.Logger), + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.RightsBundle_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3 * time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + } + if o.Features.Enabled(features.EnableAlphaManagementPolicies) { + opts = append(opts, managed.WithManagementPolicies()) + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.RightsBundle_GroupVersionKind), opts...) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1alpha1.RightsBundle{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/vcd/role/zz_controller.go b/internal/controller/vcd/role/zz_controller.go new file mode 100755 index 0000000..95a7ee5 --- /dev/null +++ b/internal/controller/vcd/role/zz_controller.go @@ -0,0 +1,55 @@ +/* +Copyright 2023 ANKASOFT +*/ + +// Code generated by upjet. DO NOT EDIT. + +package role + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1alpha1 "github.com/ankasoftco/provider-vcd/apis/vcd/v1alpha1" + features "github.com/ankasoftco/provider-vcd/internal/features" +) + +// Setup adds a controller that reconciles Role managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1alpha1.Role_GroupVersionKind.String()) + var initializers managed.InitializerChain + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } + opts := []managed.ReconcilerOption{ + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["vcd_role"], tjcontroller.WithLogger(o.Logger), + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.Role_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3 * time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + } + if o.Features.Enabled(features.EnableAlphaManagementPolicies) { + opts = append(opts, managed.WithManagementPolicies()) + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.Role_GroupVersionKind), opts...) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1alpha1.Role{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/vcd/securitytag/zz_controller.go b/internal/controller/vcd/securitytag/zz_controller.go new file mode 100755 index 0000000..497d69c --- /dev/null +++ b/internal/controller/vcd/securitytag/zz_controller.go @@ -0,0 +1,55 @@ +/* +Copyright 2023 ANKASOFT +*/ + +// Code generated by upjet. DO NOT EDIT. + +package securitytag + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1alpha1 "github.com/ankasoftco/provider-vcd/apis/vcd/v1alpha1" + features "github.com/ankasoftco/provider-vcd/internal/features" +) + +// Setup adds a controller that reconciles SecurityTag managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1alpha1.SecurityTag_GroupVersionKind.String()) + var initializers managed.InitializerChain + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } + opts := []managed.ReconcilerOption{ + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["vcd_security_tag"], tjcontroller.WithLogger(o.Logger), + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SecurityTag_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3 * time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + } + if o.Features.Enabled(features.EnableAlphaManagementPolicies) { + opts = append(opts, managed.WithManagementPolicies()) + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.SecurityTag_GroupVersionKind), opts...) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1alpha1.SecurityTag{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/vcd/serviceaccount/zz_controller.go b/internal/controller/vcd/serviceaccount/zz_controller.go new file mode 100755 index 0000000..646a22f --- /dev/null +++ b/internal/controller/vcd/serviceaccount/zz_controller.go @@ -0,0 +1,55 @@ +/* +Copyright 2023 ANKASOFT +*/ + +// Code generated by upjet. DO NOT EDIT. + +package serviceaccount + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1alpha1 "github.com/ankasoftco/provider-vcd/apis/vcd/v1alpha1" + features "github.com/ankasoftco/provider-vcd/internal/features" +) + +// Setup adds a controller that reconciles ServiceAccount managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1alpha1.ServiceAccount_GroupVersionKind.String()) + var initializers managed.InitializerChain + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } + opts := []managed.ReconcilerOption{ + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["vcd_service_account"], tjcontroller.WithLogger(o.Logger), + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.ServiceAccount_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3 * time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + } + if o.Features.Enabled(features.EnableAlphaManagementPolicies) { + opts = append(opts, managed.WithManagementPolicies()) + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.ServiceAccount_GroupVersionKind), opts...) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1alpha1.ServiceAccount{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/vcd/subscribedcatalog/zz_controller.go b/internal/controller/vcd/subscribedcatalog/zz_controller.go new file mode 100755 index 0000000..527fa89 --- /dev/null +++ b/internal/controller/vcd/subscribedcatalog/zz_controller.go @@ -0,0 +1,55 @@ +/* +Copyright 2023 ANKASOFT +*/ + +// Code generated by upjet. DO NOT EDIT. + +package subscribedcatalog + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1alpha1 "github.com/ankasoftco/provider-vcd/apis/vcd/v1alpha1" + features "github.com/ankasoftco/provider-vcd/internal/features" +) + +// Setup adds a controller that reconciles SubscribedCatalog managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1alpha1.SubscribedCatalog_GroupVersionKind.String()) + var initializers managed.InitializerChain + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } + opts := []managed.ReconcilerOption{ + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["vcd_subscribed_catalog"], tjcontroller.WithLogger(o.Logger), + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.SubscribedCatalog_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3 * time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + } + if o.Features.Enabled(features.EnableAlphaManagementPolicies) { + opts = append(opts, managed.WithManagementPolicies()) + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.SubscribedCatalog_GroupVersionKind), opts...) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1alpha1.SubscribedCatalog{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/vcd/uiplugin/zz_controller.go b/internal/controller/vcd/uiplugin/zz_controller.go new file mode 100755 index 0000000..20c9251 --- /dev/null +++ b/internal/controller/vcd/uiplugin/zz_controller.go @@ -0,0 +1,55 @@ +/* +Copyright 2023 ANKASOFT +*/ + +// Code generated by upjet. DO NOT EDIT. + +package uiplugin + +import ( + "time" + + "github.com/crossplane/crossplane-runtime/pkg/connection" + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/ratelimiter" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + tjcontroller "github.com/upbound/upjet/pkg/controller" + "github.com/upbound/upjet/pkg/terraform" + ctrl "sigs.k8s.io/controller-runtime" + + v1alpha1 "github.com/ankasoftco/provider-vcd/apis/vcd/v1alpha1" + features "github.com/ankasoftco/provider-vcd/internal/features" +) + +// Setup adds a controller that reconciles UiPlugin managed resources. +func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { + name := managed.ControllerName(v1alpha1.UiPlugin_GroupVersionKind.String()) + var initializers managed.InitializerChain + cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} + if o.SecretStoreConfigGVK != nil { + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + } + opts := []managed.ReconcilerOption{ + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["vcd_ui_plugin"], tjcontroller.WithLogger(o.Logger), + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha1.UiPlugin_GroupVersionKind))), + )), + managed.WithLogger(o.Logger.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(o.WorkspaceStore, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3 * time.Minute), + managed.WithInitializers(initializers), + managed.WithConnectionPublishers(cps...), + managed.WithPollInterval(o.PollInterval), + } + if o.Features.Enabled(features.EnableAlphaManagementPolicies) { + opts = append(opts, managed.WithManagementPolicies()) + } + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1alpha1.UiPlugin_GroupVersionKind), opts...) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(o.ForControllerRuntime()). + For(&v1alpha1.UiPlugin{}). + Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) +} diff --git a/internal/controller/zz_setup.go b/internal/controller/zz_setup.go index e02d905..a63ef61 100755 --- a/internal/controller/zz_setup.go +++ b/internal/controller/zz_setup.go @@ -85,6 +85,12 @@ import ( rdetype "github.com/ankasoftco/provider-vcd/internal/controller/vcd/rdetype" rdetypebehavior "github.com/ankasoftco/provider-vcd/internal/controller/vcd/rdetypebehavior" rdetypebehavioracl "github.com/ankasoftco/provider-vcd/internal/controller/vcd/rdetypebehavioracl" + rightsbundle "github.com/ankasoftco/provider-vcd/internal/controller/vcd/rightsbundle" + role "github.com/ankasoftco/provider-vcd/internal/controller/vcd/role" + securitytag "github.com/ankasoftco/provider-vcd/internal/controller/vcd/securitytag" + serviceaccount "github.com/ankasoftco/provider-vcd/internal/controller/vcd/serviceaccount" + subscribedcatalog "github.com/ankasoftco/provider-vcd/internal/controller/vcd/subscribedcatalog" + uiplugin "github.com/ankasoftco/provider-vcd/internal/controller/vcd/uiplugin" ) // Setup creates all controllers with the supplied logger and adds them to @@ -167,6 +173,12 @@ func Setup(mgr ctrl.Manager, o controller.Options) error { rdetype.Setup, rdetypebehavior.Setup, rdetypebehavioracl.Setup, + rightsbundle.Setup, + role.Setup, + securitytag.Setup, + serviceaccount.Setup, + subscribedcatalog.Setup, + uiplugin.Setup, } { if err := setup(mgr, o); err != nil { return err diff --git a/package/crds/vcd.crossplane.io_rightsbundles.yaml b/package/crds/vcd.crossplane.io_rightsbundles.yaml new file mode 100644 index 0000000..7b10757 --- /dev/null +++ b/package/crds/vcd.crossplane.io_rightsbundles.yaml @@ -0,0 +1,356 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: rightsbundles.vcd.crossplane.io +spec: + group: vcd.crossplane.io + names: + categories: + - crossplane + - managed + - vcd + kind: RightsBundle + listKind: RightsBundleList + plural: rightsbundles + singular: rightsbundle + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: RightsBundle is the Schema for the RightsBundles API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: RightsBundleSpec defines the desired state of RightsBundle + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Rights bundle description + type: string + name: + description: Name of rights bundle. + type: string + publishToAllTenants: + description: When true, publishes the rights bundle to all tenants + type: boolean + rights: + description: Set of rights assigned to this rights bundle + items: + type: string + type: array + tenants: + description: Set of tenants to which this rights bundle is published + items: + type: string + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: description is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.description) + - message: name is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name) + - message: publishToAllTenants is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.publishToAllTenants) + status: + description: RightsBundleStatus defines the observed state of RightsBundle. + properties: + atProvider: + properties: + bundleKey: + description: Key used for internationalization + type: string + description: + description: Rights bundle description + type: string + id: + type: string + name: + description: Name of rights bundle. + type: string + publishToAllTenants: + description: When true, publishes the rights bundle to all tenants + type: boolean + readOnly: + description: Whether this rights bundle is read-only + type: boolean + rights: + description: Set of rights assigned to this rights bundle + items: + type: string + type: array + tenants: + description: Set of tenants to which this rights bundle is published + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/package/crds/vcd.crossplane.io_roles.yaml b/package/crds/vcd.crossplane.io_roles.yaml new file mode 100644 index 0000000..2ab66a3 --- /dev/null +++ b/package/crds/vcd.crossplane.io_roles.yaml @@ -0,0 +1,348 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: roles.vcd.crossplane.io +spec: + group: vcd.crossplane.io + names: + categories: + - crossplane + - managed + - vcd + kind: Role + listKind: RoleList + plural: roles + singular: role + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Role is the Schema for the Roles API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: RoleSpec defines the desired state of Role + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Role description + type: string + name: + description: Name of Role. + type: string + org: + description: The name of organization to use, optional if defined + at provider level. Useful when connected as sysadmin working + across different organizations + type: string + rights: + description: Set of rights assigned to this role + items: + type: string + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: description is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.description) + - message: name is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name) + status: + description: RoleStatus defines the observed state of Role. + properties: + atProvider: + properties: + bundleKey: + description: Key used for internationalization + type: string + description: + description: Role description + type: string + id: + type: string + name: + description: Name of Role. + type: string + org: + description: The name of organization to use, optional if defined + at provider level. Useful when connected as sysadmin working + across different organizations + type: string + readOnly: + description: Whether this role is read-only + type: boolean + rights: + description: Set of rights assigned to this role + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/package/crds/vcd.crossplane.io_securitytags.yaml b/package/crds/vcd.crossplane.io_securitytags.yaml new file mode 100644 index 0000000..0f2ab9f --- /dev/null +++ b/package/crds/vcd.crossplane.io_securitytags.yaml @@ -0,0 +1,338 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: securitytags.vcd.crossplane.io +spec: + group: vcd.crossplane.io + names: + categories: + - crossplane + - managed + - vcd + kind: SecurityTag + listKind: SecurityTagList + plural: securitytags + singular: securitytag + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SecurityTag is the Schema for the SecurityTags API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SecurityTagSpec defines the desired state of SecurityTag + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + name: + description: Security tag name to be created + type: string + org: + description: The name of organization to use, optional if defined + at provider level. Useful when connected as sysadmin working + across different organizations + type: string + vmIds: + description: List of VM IDs that the security tags is going to + be tied to + items: + type: string + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: name is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name) + - message: vmIds is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.vmIds) + status: + description: SecurityTagStatus defines the observed state of SecurityTag. + properties: + atProvider: + properties: + id: + type: string + name: + description: Security tag name to be created + type: string + org: + description: The name of organization to use, optional if defined + at provider level. Useful when connected as sysadmin working + across different organizations + type: string + vmIds: + description: List of VM IDs that the security tags is going to + be tied to + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/package/crds/vcd.crossplane.io_serviceaccounts.yaml b/package/crds/vcd.crossplane.io_serviceaccounts.yaml new file mode 100644 index 0000000..ac685b9 --- /dev/null +++ b/package/crds/vcd.crossplane.io_serviceaccounts.yaml @@ -0,0 +1,379 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: serviceaccounts.vcd.crossplane.io +spec: + group: vcd.crossplane.io + names: + categories: + - crossplane + - managed + - vcd + kind: ServiceAccount + listKind: ServiceAccountList + plural: serviceaccounts + singular: serviceaccount + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ServiceAccount is the Schema for the ServiceAccounts API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ServiceAccountSpec defines the desired state of ServiceAccount + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + active: + description: Status of the service account. + type: boolean + allowTokenFile: + description: Set this to true if you understand the security risks + of using API token files and would like to suppress the warnings + type: boolean + fileName: + description: Name of the file that the API token will be saved + to + type: string + name: + description: Name of service account + type: string + org: + description: The name of organization to use, optional if defined + at provider level. Useful when connected as sysadmin working + across different organizations + type: string + roleId: + description: Role ID of service account + type: string + softwareId: + description: 'Any valid UUID, depends on the user, e.g: 12345678-1234-5678-90ab-1234567890ab' + type: string + softwareVersion: + description: Version of software using the service account, can + be freely defined by the user + type: string + uri: + description: URI of the client using the service account, can + be freely defined by the user + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: name is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name) + - message: roleId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.roleId) + - message: softwareId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.softwareId) + status: + description: ServiceAccountStatus defines the observed state of ServiceAccount. + properties: + atProvider: + properties: + active: + description: Status of the service account. + type: boolean + allowTokenFile: + description: Set this to true if you understand the security risks + of using API token files and would like to suppress the warnings + type: boolean + fileName: + description: Name of the file that the API token will be saved + to + type: string + id: + type: string + name: + description: Name of service account + type: string + org: + description: The name of organization to use, optional if defined + at provider level. Useful when connected as sysadmin working + across different organizations + type: string + roleId: + description: Role ID of service account + type: string + softwareId: + description: 'Any valid UUID, depends on the user, e.g: 12345678-1234-5678-90ab-1234567890ab' + type: string + softwareVersion: + description: Version of software using the service account, can + be freely defined by the user + type: string + uri: + description: URI of the client using the service account, can + be freely defined by the user + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/package/crds/vcd.crossplane.io_subscribedcatalogs.yaml b/package/crds/vcd.crossplane.io_subscribedcatalogs.yaml new file mode 100644 index 0000000..1fc1b84 --- /dev/null +++ b/package/crds/vcd.crossplane.io_subscribedcatalogs.yaml @@ -0,0 +1,525 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: subscribedcatalogs.vcd.crossplane.io +spec: + group: vcd.crossplane.io + names: + categories: + - crossplane + - managed + - vcd + kind: SubscribedCatalog + listKind: SubscribedCatalogList + plural: subscribedcatalogs + singular: subscribedcatalog + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SubscribedCatalog is the Schema for the SubscribedCatalogs API. + + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SubscribedCatalogSpec defines the desired state of SubscribedCatalog + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + cancelFailedTasks: + description: When true, the subscribed catalog will attempt canceling + failed tasks + type: boolean + deleteForce: + description: When destroying use delete_force=True with delete_recursive=True + to remove a catalog and any objects it contains, regardless + of their state. + type: boolean + deleteRecursive: + description: When destroying use delete_recursive=True to remove + the catalog and any objects it contains that are in a state + that normally allows removal. + type: boolean + makeLocalCopy: + description: If true, subscription to a catalog creates a local + copy of all items. Defaults to false, which does not create + a local copy of catalog items unless a sync operation is performed. + type: boolean + name: + description: The name of the catalog + type: string + org: + description: The name of organization to use, optional if defined + at provider level. + type: string + storageProfileId: + description: Optional storage profile ID + type: string + storeTasks: + description: If true, saves list of tasks to file for later update + type: boolean + subscriptionPasswordSecretRef: + description: An optional password to access the catalog. Only + ASCII characters are allowed in a valid password. Passing in + six asterisks '******' indicates to keep current password. Passing + in null or empty string indicates to remove password. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + subscriptionUrl: + description: The URL to subscribe to the external catalog. + type: string + syncAll: + description: If true, synchronise this catalog and all items + type: boolean + syncAllMediaItems: + description: If true, synchronises all media items + type: boolean + syncAllVappTemplates: + description: If true, synchronises all vApp templates + type: boolean + syncCatalog: + description: If true, synchronise this catalog. This operation + fetches the list of items. If `make_local_copy` is set, it also + fetches the items data. + type: boolean + syncMediaItems: + description: Synchronises media items from this list of names. + items: + type: string + type: array + syncOnRefresh: + description: Boolean value that shows if sync should be performed + on every refresh. + type: boolean + syncVappTemplates: + description: Synchronises vApp templates from this list of names. + items: + type: string + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: name is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name) + - message: subscriptionUrl is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subscriptionUrl) + status: + description: SubscribedCatalogStatus defines the observed state of SubscribedCatalog. + properties: + atProvider: + properties: + cancelFailedTasks: + description: When true, the subscribed catalog will attempt canceling + failed tasks + type: boolean + catalogVersion: + description: Catalog version number. Inherited from publishing + catalog and updated on sync. + type: number + created: + description: Time stamp of when the catalog was created + type: string + deleteForce: + description: When destroying use delete_force=True with delete_recursive=True + to remove a catalog and any objects it contains, regardless + of their state. + type: boolean + deleteRecursive: + description: When destroying use delete_recursive=True to remove + the catalog and any objects it contains that are in a state + that normally allows removal. + type: boolean + description: + description: A subscribed catalog description is inherited from + the publisher catalog and cannot be changed. It is updated on + sync + type: string + failedTasks: + description: List of failed synchronization tasks + items: + type: string + type: array + href: + description: Catalog HREF + type: string + id: + type: string + isLocal: + description: True if this catalog belongs to the current organization. + type: boolean + isPublished: + description: True if this catalog is published. (Always false) + type: boolean + isShared: + description: True if this catalog is shared. + type: boolean + makeLocalCopy: + description: If true, subscription to a catalog creates a local + copy of all items. Defaults to false, which does not create + a local copy of catalog items unless a sync operation is performed. + type: boolean + mediaItemList: + description: List of Media items in this catalog + items: + type: string + type: array + metadata: + additionalProperties: + type: string + description: Key and value pairs for catalog metadata. Inherited + from publishing catalog + type: object + name: + description: The name of the catalog + type: string + numberOfMedia: + description: Number of Media items this catalog contains. + type: number + numberOfVappTemplates: + description: Number of vApp templates this catalog contains. + type: number + org: + description: The name of organization to use, optional if defined + at provider level. + type: string + ownerName: + description: Owner name from the catalog. + type: string + publishSubscriptionType: + description: PUBLISHED if published externally, SUBSCRIBED if + subscribed to an external catalog, UNPUBLISHED otherwise. (Always + SUBSCRIBED) + type: string + runningTasks: + description: List of running synchronization tasks + items: + type: string + type: array + storageProfileId: + description: Optional storage profile ID + type: string + storeTasks: + description: If true, saves list of tasks to file for later update + type: boolean + subscriptionUrl: + description: The URL to subscribe to the external catalog. + type: string + syncAll: + description: If true, synchronise this catalog and all items + type: boolean + syncAllMediaItems: + description: If true, synchronises all media items + type: boolean + syncAllVappTemplates: + description: If true, synchronises all vApp templates + type: boolean + syncCatalog: + description: If true, synchronise this catalog. This operation + fetches the list of items. If `make_local_copy` is set, it also + fetches the items data. + type: boolean + syncMediaItems: + description: Synchronises media items from this list of names. + items: + type: string + type: array + syncOnRefresh: + description: Boolean value that shows if sync should be performed + on every refresh. + type: boolean + syncVappTemplates: + description: Synchronises vApp templates from this list of names. + items: + type: string + type: array + tasksFileName: + description: Where the running tasks IDs have been stored. Only + if `store_tasks` is set + type: string + vappTemplateList: + description: List of catalog items in this catalog + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/package/crds/vcd.crossplane.io_uiplugins.yaml b/package/crds/vcd.crossplane.io_uiplugins.yaml new file mode 100644 index 0000000..d753373 --- /dev/null +++ b/package/crds/vcd.crossplane.io_uiplugins.yaml @@ -0,0 +1,377 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: uiplugins.vcd.crossplane.io +spec: + group: vcd.crossplane.io + names: + categories: + - crossplane + - managed + - vcd + kind: UiPlugin + listKind: UiPluginList + plural: uiplugins + singular: uiplugin + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: UiPlugin is the Schema for the UiPlugins API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: UiPluginSpec defines the desired state of UiPlugin + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + enabled: + description: true to make the UI Plugin enabled. 'false' to make + it disabled + type: boolean + pluginPath: + description: Absolute or relative path to the ZIP file containing + the UI Plugin + type: string + providerScoped: + description: This value is calculated automatically on create + by reading the UI Plugin ZIP file contents. You can updateit + to `true` to make it provider scoped or `false` otherwise + type: boolean + tenantIds: + description: Set of organization IDs to which this UI Plugin must + be published + items: + type: string + type: array + tenantScoped: + description: This value is calculated automatically on create + by reading the UI Plugin ZIP file contents. You can updateit + to `true` to make it tenant scoped or `false` otherwise + type: boolean + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: enabled is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.enabled) + status: + description: UiPluginStatus defines the observed state of UiPlugin. + properties: + atProvider: + properties: + description: + description: The description of the UI Plugin + type: string + enabled: + description: true to make the UI Plugin enabled. 'false' to make + it disabled + type: boolean + id: + type: string + license: + description: The license of the UI Plugin + type: string + link: + description: The website of the UI Plugin + type: string + name: + description: The UI Plugin name + type: string + pluginPath: + description: Absolute or relative path to the ZIP file containing + the UI Plugin + type: string + providerScoped: + description: This value is calculated automatically on create + by reading the UI Plugin ZIP file contents. You can updateit + to `true` to make it provider scoped or `false` otherwise + type: boolean + status: + description: The status of the UI Plugin + type: string + tenantIds: + description: Set of organization IDs to which this UI Plugin must + be published + items: + type: string + type: array + tenantScoped: + description: This value is calculated automatically on create + by reading the UI Plugin ZIP file contents. You can updateit + to `true` to make it tenant scoped or `false` otherwise + type: boolean + vendor: + description: The UI Plugin vendor name + type: string + version: + description: The version of the UI Plugin + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {}